如何从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);
});