我不知道如何将.map映射到数组中。我希望获得除2之外的所有子项值,然后将其放入数组格式中。
以下是我尝试使用的代码:
$("#schoolSupplies").submit(function() {
var test = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
return $(this).val();
})
.get()
.join( "\", \"" );
console.log(test);
});
这是输出:Billy", "John
我一直在研究这个问题大约一个小时,我不知道怎么做。
答案 0 :(得分:9)
.get()
返回一个数组 - 所以只需取出.join()
来电;否则你会有一个字符串(因为这是.join()
返回的内容)。
$("#schoolSupplies").submit(function() {
var arrayOfValues = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
return $(this).val();
})
.get()
//.join( "\", \"" )
;
console.log('Array.isArray(arrayOfValues): ', Array.isArray(arrayOfValues)?'yes':'no', ' contents of arrayOfValues: ', arrayOfValues);
return false; //for demonstration purposes, don't submit form normally
});

<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>
&#13;
答案 1 :(得分:0)
尝试以下
$("#schoolSupplies").submit(function() {
var test = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
return $(this).val();
})
.get()
.join( "\", \"" );
test = '["'+test+'"]';//note this is a string not a array
console.log(test);
});