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

时间:2013-10-08 12:30:22

标签: jquery

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

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

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

7 个答案:

答案 0 :(得分:32)

如果您的所有输入共享同一个班级说“class1”,那么您可以使用此

选择所有此类输入
var inputs = $(".class1");

然后你可以按照你想要的方式迭代输入。

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

答案 1 :(得分:17)

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

var valueArray = $('.spocName').map(function() {
    return this.value;
}).get();

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

var arr = $('.spocName').map((i, e) => e.value).get();

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

答案 2 :(得分:3)

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

答案 3 :(得分:0)

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

$('.spocNames').each(function(){
  alert(this.value);
}

答案 4 :(得分:0)

  let itemarray = []
        document.querySelectorAll('.selector').forEach((item, index) => {
            console.log(item, index)

            itemarray.push($(item).val())

            item.addEventListener('input', (e => {
                itemarray[index] = $(item).val()
                console.log(itemarray)
            }))
        });

说明:打开一个空数组,使用forEach对应你想要接收值的选择器。使用jQuery在数组中放置与选择器长度一样多的空对象。每当您在输入字段中输入任何内容时,它都会修改它的原始值,从而修改数组本身。

答案 5 :(得分:-1)

@ mandip-darji的答案是完全可以接受的并且有效。 我没有做任何改进。因此,就我而言,如果您只想输入一个输入字段的值。

您可以执行以下操作。

let keyWord = null;
    $('.searchinventory_input').each(function(){
       if(this.value){
           keyWord = this.value;
           return false;
       }
   });
    

答案 6 :(得分:-2)

只是做:

alert($('.spocName').serialize())