如何从JQUERY中的输入获取数组?
我有一组输入来获取玩家信息:如何从JQUERY中的输入获取数组?,jquery,arrays,select,textinput,Jquery,Arrays,Select,Textinput,我有一组输入来获取玩家信息: <select name="playerSport" class="playerSport">...</select> <input type="text" name="playerPosition" class="playerPosition" /> <input type="text" name="playerNumber" class="playerNumber" /> <button id="submit
<select name="playerSport" class="playerSport">...</select>
<input type="text" name="playerPosition" class="playerPosition" />
<input type="text" name="playerNumber" class="playerNumber" />
<button id="submit">Submit</submit>
这些将返回空白结果。我很可能错过了一些相当明显的东西。有什么想法吗?另一个选择是将函数传递到
.val()
var a = $.map($(".playerSport,.playerPosition,.playerNumber"), function(el) {
return $(el).val();
});
// now 'a' is an array containing the values.
如果要选择所有
、
和
元素,也可以使用:输入
.val()
用于具有多个值的元素(如multi-
),但它不会从所选节点集中的每个元素返回值数组
您需要在回调函数中建立一个数组,可能需要使用$.map
$('.playerSport').val()
这些函数将只返回一个值,而不是数组,那么您该怎么做呢。join???这可能不是主要问题,但您缺少$('input[name=“playerSport]”上的右括号)
应该是$('input[name=“playerSport”]”)
在第1行和第7行!我必须返回。很好,这样做了。我会在时间用完后选择这个作为答案。谢谢!可以做与$(“..”)相同的事情。map(函数(el){…}
您正在滥用.val
函数。为此,请使用.map
。.val
旨在将每个元素的值设置为函数的返回值。
var a = $.map($(".playerSport,.playerPosition,.playerNumber"), function(el) {
return $(el).val();
});
// now 'a' is an array containing the values.
var values = [];
$(":input").val(function(index, value){
values.push(value);
});