获取与数组相同的所有输入的值

kwk*_*ack 18 jquery

我有一组输入,我希望以数组形式或以您建议的任何方式获取每个输入的值.我不是很擅长数组.

$(elemnt).each(function(index, element) {
    $('#spc-name').val($(".spocName").val());
    alert($(".spocName").val());
});
Run Code Online (Sandbox Code Playgroud)

上面的代码行警告对我来说是正确的事情,但对于单个输入而且我有多个输入,class="spocName"所以我想得到所有的值,以便我可以将每个在DB表中保存在单独的行中.

Abh*_*jan 40

如果所有输入共享同一个类别,则说"class1",那么您可以使用此选择所有此类输入

var inputs = $(".class1");
Run Code Online (Sandbox Code Playgroud)

然后,您可以以任何方式迭代输入.

for(var i = 0; i < inputs.length; i++){
    alert($(inputs[i]).val());
}
Run Code Online (Sandbox Code Playgroud)

  • 不知道这是如何被接受的,因为它实际上并没有回答问题。 (4认同)

Ror*_*san 22

要将每个元素的值作为数组获取,您可以使用map():

var valueArray = $('.spocName').map(function() {
    return this.value;
}).get();
Run Code Online (Sandbox Code Playgroud)

或者在ES6中(请注意,这在IE中不受支持):

var arr = $('.spocName').map((i, e) => e.value).get();
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要使用此数组保存到您的数据库 - 例如.作为AJAX请求中的参数.


LeG*_*GEC 7

var values = [];
$('.spocNames').each(function(){
    values.push({ name: this.name, value: this.value }); 
});
//use values after the loop
console.log(values);
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用 jquery每个 功能...

$('.spocNames').each(function(){
  alert(this.value);
}
Run Code Online (Sandbox Code Playgroud)