I don't know how I would .map into an array. I want to get all values of children but 2 and then put it into an array format.
Here's the code I'm attempting it with:
$("#schoolSupplies").submit(function() {
var test = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
return $(this).val();
})
.get()
.join( "\", \"" );
console.log(test);
});
And this is the output: Billy", "John
I have been working on this for about an hour and I have no idea how.
The jQuery .get()
method returns an Array 1.
If the call to the Array .join()
method was removed then test
would simply be an array; otherwise test
would be a string (since that is what the .join()
method returns).
$("#schoolSupplies").submit(function() {
var arrayOfValues = $(":input").not("#numOfSupplies, #submitBtn")
.map(function() {
return $(this).val();
})
.get()
//.join( "\", \"" ) // this String method returns a string
;
console.log('arrayOfValues is array: ', Array.isArray(arrayOfValues) ? 'yes' : 'no');
console.log(' contents of arrayOfValues: ', arrayOfValues);
return false; //for demonstration purposes, don't submit form normally
});
$($("#submitBtn").click());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="schoolSupplies">
Supply Name: <input id="name" type="text" value="Tables" /><br />
Student Name: <input id="studentName" type="text" value="Bobby" /><br />
# of Supplies: <input id="numOfSupplies" type="number" value="3" /><br />
<input type="submit" id="submitBtn" />
</form>