0

他のすべてのチェックボックスをチェックおよびチェック解除できるチェックボックスの作成に問題があります。

チェックボックスはすべての入力のチェックを外すことができますが、逆に同じことを行うことはできません。

jsFiddle: http://jsfiddle.net/Vj6wY/1964/

html:

<div class='checkboxes'>
    All <input name="filterAll" type="checkbox"  checked="checked"  />
    Amazon <input name="filterAmazon" type="checkbox" checked="checked" />
    Abebooks <input name="filterAbebooks" type="checkbox" checked="checked" />
    Biblio <input name="filterBiblio" type="checkbox" checked="checked" />
    eBay <input name="filterEbay" type="checkbox" checked="checked" />        
</div>

jquery:

$(document).ready(function(){    
    $('input').on("change",function(){
            var filter_id = $(this).attr("name");  

            if($(this).is(':checked')){         
                switch(filter_id){
                    case "filterAll":
                    $("input").attr({checked: true});
                    break;
                }
            }

            else{               
                switch(filter_id){
                    case "filterAll":   
                    $("input").attr({checked: false});
                    break;                  
                }
            }
        });
})
4

3 に答える 3

3

http://jsfiddle.net/Vj6wY/1965/

.prop('checked', true);代わりに使用する必要があります.attr()

http://api.jquery.com/prop/

$(document).ready(function(){    
    $('input').on("change",function(){
            var filter_id = $(this).attr("name");  

            if($(this).is(':checked')){     
                            alert("asdas");

                switch(filter_id){
                    case "filterAll":
                    $("input").prop('checked', true);
                    break;
                }
            }

            else{               
                switch(filter_id){
                    case "filterAll":   
                    $("input").prop('checked', false);
                    break;                  
                }
            }
        });
});
于 2013-07-26T21:31:18.143 に答える
1
$('input#filterAll').change(function()
{
    $('input:checkbox').prop('checked', this.checked);
})

http://jsfiddle.net/Vj6wY/1968/

JavaScript の量を大幅に削減できます。すべて選択チェックボックスに Id を追加したことに注意してください。

于 2013-07-26T21:37:43.863 に答える
0

これを試して

$(document).ready(function(){    
    $('input').on("change",function(){
            var filter_id = $(this).attr("name");  

            if($(this).is(':checked')){         
                switch(filter_id){
                    case "filterAll":
                    $("input").attr('checked' , 'checked'});
                    break;
                }
            }

            else{               
                switch(filter_id){
                    case "filterAll":   
                    $("input").removeArrt('checked');
                    break;                  
                }
            }
        });
})
于 2013-07-26T21:34:14.240 に答える