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>

而且,我已将我的代码放在一个 fiddle中,它工作正常。我真正想做的是,当没有选中任何复选框时,我希望自动选中所有复选框。

4

3 回答 3

3

尝试以下操作:

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

演示

于 2012-07-23T07:30:20.487 回答
0
$('input[type="checkbox"]').change(function(){
    if($('input[type="checkbox"]:checked').length == 0)
         $('#city_all').attr('checked', 'checked');
});
于 2012-07-23T07:30:31.660 回答
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);
});

小提琴

于 2012-07-23T07:47:09.520 回答