一组多个动态生成的复选框,在数组中获取整个值

时间:2015-01-12 07:40:49

标签: jquery ajax json checkbox

我的代码

Checkbox1:从json列表生成

tr.append($("<td />").html('<input type="checkbox" id="reqid" name="reqid[]" value='+item+'>'));

Checkbox2:从另一个json列表生成

tr.append($("<td />").html('<input type="checkbox" id="selector" name="selector[]" value='+item[0]+'>'));

我想在单独的数组中获取两个复选框的值。请帮帮我:)

我使用下面的代码,但数组val返回两个复选框的值

var val = [];

    `$`(':checkbox:checked').each(function(i){
    val[i] = `$`(this).val();
    alert(val[i]); 

});

我需要在名为reqid []和slectid []

的单独文本框中同时获取两个复选框值

2 个答案:

答案 0 :(得分:0)

您可以使用:eq(0):eq(1)来定位第一个和第二个元素:

var Checkboxes1=$('tr :checkbox:eq(0)').map(function() {
   return this.value;
}).get();


var Checkboxes2=$('tr :checkbox:eq(1)').map(function() {
   return this.value;
}).get();

答案 1 :(得分:0)

尝试此操作我猜你不会在多个复选框上应用相同的ID:

var data = {};
    data.chk1 = [];
    data.chk2 = [];

$(':checkbox:checked').each(function(i){ 
    if(this.id == "reqid"){
        data.chk1.push(this.value);
    }else if(this.id == "selector"){
        data.chk2.push(this.value);
    }
});

console.log(data.chk1 + ":::" + data.chk2);

由于您已将id属性赋予复选框,因此您可以使用ids获取值。