2012-07-23 235 views
1

我有这样的HTML代码选中第一个复选框,如果没有复选框被选中

<input type="checkbox" name="city_pref[]" id="city_all" value="0" checked /><label for="city_all">All</label> 
<input type="checkbox" name="city_pref[]" id="city_pref_1" value="Chicago" /><label for="city_pref_1">Chicago</label> 
<input type="checkbox" name="city_pref[]" id="city_pref_2" value="Texas" /><label for="city_pref_2">Texas</label> 

而且,我有placed my code in a fiddle,这是正常工作。我真正想要做的是,当没有选中任何复选框时,我希望全部复选框自动选中。

回答

3

尝试以下操作:

$('input[type=checkbox]').change(function(){ 
    if ($('input[type=checkbox]:checked').length == 0) { 
     $('#city_all').prop('checked', true) 
    } 
}) 

DEMO

+0

感谢Raminson,这是件好事,但对我来说我有很多的复选框,为城市例如,一个复选框组,一个是操作系统等,能否请您修改代码哪些可以只为特定类或复选框组 – Thompson 2012-07-23 07:41:12

+0

@MohanSinfh欢迎您,试试这个http://jsfiddle.net/bGwrS/16/ – undefined 2012-07-23 07:46:51

+0

我真的很抱歉Raminson,因为我再次打扰你,但我的字段集一个名称为** name =“city_pref_alt []”**的城市组。这正在改变这个功能的行为。 – Thompson 2012-07-23 08:44:37

0
$('input[type="checkbox"]').change(function(){ 
    if($('input[type="checkbox"]:checked').length == 0) 
     $('#city_all').attr('checked', 'checked'); 
}); 
0

您真正需要的是一个行?

$('input[type="checkbox"][name="city_pref[]"]').on('change', function(e){ 
    this.checked ? $(this).siblings('[name="city_pref[]"]').prop('checked', false) : $("#city_all").prop('checked', true); 
}); 

相关问题