サーチ…


前書き

私は様々なStackoverflowの例と答えを使って、 "select all"チェックボックスと自動チェック/グループチェックボックスのステータスが変わったかどうかをチェックする方法について、この本当に簡単な例に来ました。制約:select allグループを作成するには、 "select all" idが入力名と一致する必要があります。この例では、入力select all IDはcbGroup1です。入力名もcbGroup1です。

コードは非常に短いですが、多くのif文(時間とリソースの消費)ではありません。

2すべてのチェックボックスを対応するグループチェックボックスで選択します

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<p>
<input id="cbGroup1" type="checkbox">Select all
<input name="cbGroup1" type="checkbox" value="value1_1">Group1 value 1
<input name="cbGroup1" type="checkbox" value="value1_2">Group1 value 2
<input name="cbGroup1" type="checkbox" value="value1_3">Group1 value 3
</p>
<p>
<input id="cbGroup2" type="checkbox">Select all
<input name="cbGroup2" type="checkbox" value="value2_1">Group2 value 1
<input name="cbGroup2" type="checkbox" value="value2_2">Group2 value 2
<input name="cbGroup2" type="checkbox" value="value2_3">Group2 value 3
</p>

<script type="text/javascript" language="javascript">
    $("input").change(function() {
      $('input[name=\''+this.id+'\']').not(this).prop('checked', this.checked);
      $('#'+this.name).prop('checked', $('input[name=\''+this.name+'\']').length === $('input[name=\''+this.name+'\']').filter(':checked').length);      
    });
</script>


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow