代码返回复选框中的所有项目

时间:2016-05-31 07:16:45

标签: javascript jquery arrays asp.net-mvc

在这里,我想得到allRefItems,但应该检查&没有禁用。但在这里总是得到 所有Id的

var allRefItems = [];
$('table#reftable > tbody > tr').each(function () {
    if ($(this).find('td:eq(0) input', this).is(':checked')) {
        if ($(this).find('td:eq(0) input', this).not(':disabled')) {
            itId = $(this).find('td:eq(0) input', this).attr('id'); 
            allRefItems.push(itId);
        }
    }
});

2 个答案:

答案 0 :(得分:1)

如果你想获得表格中的所有复选框,我认为你可以更容易地做到:

var allRefItems = [];
$('table#reftable > tbody input[type="checkbox"]') //get all checboxes
   .filter(function() { // filter them only checked and not disabled
      return !this.disabled && this.checked;
   }).each(function () { //getting your ids
      itId = $(this).attr('id'); 
      allRefItems.push(itId);
});

这是jsFiddle example

答案 1 :(得分:0)

你可以使用,

var allRefItems = $('table#reftable > tbody > tr input[type="checkbox"]:checked:not(:disabled)').map(function() {
  return this.id;
}).get();