检查另一个框的复选框

时间:2017-04-03 18:51:26

标签: function checkbox parent-child parent

我正在使用一个充满复选框的网页,我想检查1(让我们称之为父母)复选框,它具有检查多个其他复选框的功能(让我们调用那些孩子)。到目前为止,这个jquery代码成功了:

$(function(){
  $('#1').on('change',function(){
     $('#5,#456,#910,#1077,#982,#759,#1234,#392,#289,#956').prop('checked',$(this).prop('checked'));
  });
    $('.child').on('change',function(){
     $('#parent').prop('checked',$('.child:checked').length ? true: false);
  });

});

唯一的是;我想给“子”复选框赋予函数,并在选中“父”复选框时让它们工作,但是当父复选框选中子复选框时,这些函数似乎不起作用。仅当您使用光标手动检查子框时。

我希望我的问题很明确。我通常不会在这里发帖

:)

1 个答案:

答案 0 :(得分:0)

您可以使用$.trigger('click')之类的代码来检查框并使用jQuery触发click事件。

试试这个:

$('#1').on('change',function(){
  $('#5,#456,#910,#1077,#982,#759,#1234,#392,#289,#956').trigger('click');
});

这是一个Stack Snippet,使其更清晰:

$(function(){
    $('#parent').click(function(){
    	$('#1, #2, #3').trigger('click');
    });
    $('#1, #2, #3').click(function(){
      console.log(this.id);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

parent: <input type="checkbox" id="parent" />

<br />

<input type="checkbox" id="1" />
<input type="checkbox" id="2" />
<input type="checkbox" id="3" />