2016-11-11 50 views
-1

我一直在出汗這個問題整天,我還沒有找到任何網上匹配我的需要。如何檢查所有複選框根據與jQuery的每個子輸入

我有一個複選框HTML表單如下:

<input type="checkbox" name="classes[]" value="1" />JSS1 <br> 
    <input type="checkbox" name="subclasses[]" value="2" />Art <br> 
    <input type="checkbox" name="subclasses[]" value="1" />Science <br> 
    <input type="checkbox" name="classes[]" value="2" />JSS2 <br> 
    <input type="checkbox" name="subclasses[]" value="1" />A <br> 
    <input type="checkbox" name="subclasses[]" value="2" />B <br> 

現在,我想如果我檢查類(比方說JSS1)所有子類下JSS1(藝術,科學),將被檢查依此類推。

我該如何用jQuery做到這一點?

+0

請所有的投入都在一個循環。謝謝 –

+2

這不是一個代碼寫入服務。你到目前爲止嘗試了什麼?發佈您的代碼!當你運行它時發生了什麼?你預期會發生什麼?你有什麼特別的問題? https://stackoverflow.com/help/mcve – Robert

回答

0

請參考fiddle。使用此:

JS:

$(document).ready(function() { 
     $("input[name^='classes']").click(function() { 
      if ($(this).is(':checked')) { 
       $(this).siblings("input[name^='subclasses']").prop("checked", true); 
      } 
      else { 
       $(this).siblings("input[name^='subclasses']").prop("checked", false); 
      } 
     }); 

    }); 

HTML:

<div> 
    <input type="checkbox" name="classes[]" value="1" />JSS1 <br> 
    <input type="checkbox" name="subclasses[]" value="2" />Art <br> 
    <input type="checkbox" name="subclasses[]" value="1" />Science <br> 
</div> 
<div> 
    <input type="checkbox" name="classes[]" value="2" />JSS2 <br> 
    <input type="checkbox" name="subclasses[]" value="1" />A <br> 
    <input type="checkbox" name="subclasses[]" value="2" />B <br> 
</div> 
+0

Yaaaaaah!像魅力一樣工作。非常感謝@vispan。 –

+0

但是如何取消選中父類,如果它的某個子類是未選中的? –

+0

我已經解決了:$(this).siblings(「input [name^='classes']」)。prop(「checked」,false); –