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>

そして、コードをフィドルに配置しました。これは正しく機能しています。私が本当にやりたいのは、どのチェックボックスも選択されていないときに、すべてのチェックボックスが自動的に選択されるようにすることです。

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

本当に必要なのは1行だけですか?

$('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 に答える