检查由bootstrap multiselect创建的所有未选中复选框

时间:2015-03-09 13:08:29

标签: jquery twitter-bootstrap bootstrap-multiselect

我需要找到一种方法来检查由bootstrap-multiselect创建的Web表单上的所有复选框。

我尝试使用下面的代码,但没有运气,没有检查当前的复选框:

function checkUnchecked() {

    var all = $(this);
    $('input:checkbox').each(function() {
       $(this).prop("checked", all.prop("checked"));
    });
    $('#resortId').multiselect('rebuild');
}

表单上的所有多选字段都是动态创建的,因此我无法使用以下调用选择它们:

$('#resortId').multiselect('select', ['1', '2', '4']);

2 个答案:

答案 0 :(得分:0)

试试这个java脚本,

function cat(source) {
  checkboxes = document.getElementsByName('cat[]');
  for(var i=0, n=checkboxes.length;i<n;i++) {
    checkboxes[i].checked = source.checked;
  }
} 

你的html文件应该是这样的

 <label>
            <input type="checkbox" onClick="cat(this)">
            Select All </label>

这是选择全部,你剩下的chekbox应该是这样的

<input type="checkbox" name="cat[]"  value="">

答案 1 :(得分:0)

我认为问题在于你在循环之外声明“全部”。无论如何,你不需要使用多选,是吗?我不明白你的“所有”陈述。

function checkUnchecked() {

    $('input:checkbox').each(function() {
       $(this).prop('checked', true);
    });
    $('#resortId').multiselect('rebuild');
}