2017-10-20 12 views
0

私はドロップダウンチェックボックスを持っています。'ALL'という名前のチェックボックスをクリックすると、他のすべてのチェックボックスがオフになります。 'ALL'以外のチェックボックスをオンにすると、'ALL'チェックボックスの選択が解除され、最初の機能と重複しますが、ジョブは実行されますが、'ALL'チェックボックスは選択されません。以下は UncheckAll /他のチェックボックスが重複してチェックされている場合はチェックボックスをチェック

は私のコードです:

HTML:

<label class="text-primary" for="type">Type: </label> 
         <select id="type" mode="checkbox" style="width: 300;"> 
          <option value="ALL" selected="Selected" checked="1">ALL</option> 
          <option value="Car">Car</option> 
          <option value="Ball">Ball</option> 
          <option value="Radio">Radio</option> 
         </select> 

JAVASCRIPT:このことができます

type_combobox.attachEvent("onCheck", function(value, state){ 
     var values = type_combobox.getChecked(); 
     type_value = {};// put combo value into scope variable 
     for(var i = 0; i < values.length; i++){ 
      type_value[values[i]] = true;// build hash for easy check later 
     } 
     //UNCHECK CHECKBOXES IF ALL IS SELECTED 
     if(type_value['ALL'] == true){ 
      type_combobox.forEachOption(function(optId){ 
       type_combobox.setChecked(optId.index,false); 
      }) 
      type_combobox.setChecked(0,true); 
     } 
     gantt.render();// and repaint gantt 
    }); 

    //InCORRECT 
     if(type_value['ALL'] == true && !type_value['ALL'] == false){ 
      type_combobox.setChecked(0,false); 
     } 
+1

すべての関連コード(html) –

+0

を編集してください。ありがとうございます。 –

+0

'入力チェック'ではなく '選択'を使用していますが、ここでの主な目標は何ですか? 'マルチプルオプションを選択する'か '入力タイプチェック'だけを使いたいですか? –

答えて

1

希望、私はこれは期待どおりに動作と思う:

$(function(){ 
 

 
function unCheckAll() { 
 

 
    $(".myCheckGroup").each(function(index) { 
 
    if ($(this).attr('name') != 'all') 
 
    $(this).prop('checked', false); 
 
}) 
 
} 
 

 
$(".myCheckGroup").change(function() { 
 
    let chk = this; 
 
    let isChecked = $(this).is(':checked') 
 
    console.log(chk.name) 
 
    if (chk.name == 'all') { 
 
     unCheckAll() 
 
    }else { 
 
    $('.myCheckGroup[name=all]').prop('checked', false); 
 
    } 
 
}) 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div><input type="checkbox" name="all" value="all" class="myCheckGroup">all</div> 
 
<div><input type="checkbox" name="one" value="1" class="myCheckGroup">one</div> 
 
<div><input type="checkbox" name="two" value="2" class="myCheckGroup">two</div> 
 
<div><input type="checkbox" name="thee" value="3" class="myCheckGroup">three</div> 
 
<div><input type="checkbox" name="four" value="4" class="myCheckGroup">four</div>

+0

こんにちは@ジョーディ、あなたの助けをありがとう、これは動作しますが、残念ながら私のdhtmlx 'onCheck'機能のためではありません。同じ原則だが、コードが少し異なる必要がある、もしあなたがそれを手伝ってくれれば、大変感謝するだろう –

関連する問題