2015-08-31 119 views
0

當我想使用jquery開發checkall函數時遇到了一些問題。使用jquery檢查所有具有特定值的複選框

我把所有的複選框放在表格中,以清除它,並且希望檢查所有複選框的值爲input

例如,當我單擊值爲type1的複選框時,將同時檢查包括type1在內的所有複選框值(type1,type1-1和type 1-2)。

HTML:

<table> 
    <tr class='type1'> 
     <td><input type="checkbox" value="type1"></td> 
     <td>Type_1<td> 
    </tr> 
    <tr class='type1-1'> 
     <td><input type="checkbox" value="type1-1"></td> 
     <td>Type_1-1<td> 
    </tr> 
    <tr class='type1-2'> 
     <td><input type="checkbox" value="type1-2"></td> 
     <td>Type_1-2<td> 
    </tr> 
    <tr class='type2'> 
     <td><input type="checkbox" value="type2"></td> 
     <td>Type_2<td> 
    </tr> 
    <tr class='type2-1'> 
     <td><input type="checkbox" value="type2-1"></td> 
     <td>Type_2-1<td> 
    </tr>   
</table> 

是否有可能用jQuery做呢?

謝謝。

回答

1

你可以這樣說:

$(':checkbox').change(function() { 
    var chkValue=$(this).attr("value"); 
    if($(this).is(':checked')) 
    {  
     $(':checkbox[value*="'+chkValue+'"]').prop('checked', true); 
     //use selector^= OR selector*= as per your need 
    } 
    else 
    { 
     $(':checkbox[value*="'+chkValue+'"]').prop('checked', false); 
    } 
}); 

FIDDLE DEMO