亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

啟用/禁用復選框

啟用/禁用復選框

慕桂英546537 2019-10-24 11:05:59
我有以下幾點:$(document).ready(function(){    $("#select-all-teammembers").click(function() {        $("input[name=recipients\\[\\]]").attr('checked', true);    });                 });我希望id="select-all-teammembers"單擊時可以在已選中和未選中之間切換。有想法嗎?那不是幾十行代碼嗎?
查看完整描述

3 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

你可以寫:


$(document).ready(function() {

    $("#select-all-teammembers").click(function() {

        var checkBoxes = $("input[name=recipients\\[\\]]");

        checkBoxes.prop("checked", !checkBoxes.prop("checked"));

    });                 

});

在jQuery 1.6之前,當我們只有attr()而不是prop()時,我們曾經這樣寫:


checkBoxes.attr("checked", !checkBoxes.attr("checked"));

但是,prop()與attr()應用于“布爾” HTML屬性相比,它具有更好的語義,因此在這種情況下通常是首選的。


查看完整回答
反對 回復 2019-10-24
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

我知道這很舊,但是問題有點模棱兩可,因為切換可能意味著每個復選框都應該切換其狀態,無論是什么狀態。如果您有3個選中項和2個未選中項,則切換將使前3個處于未選中狀態,而最后2個處于選中狀態。


為此,這里的所有解決方案都不起作用,因為它們使所有復選框具有相同的狀態,而不是切換每個復選框的狀態。$(':checkbox').prop('checked')對許多復選框執行操作會在所有.checked二進制屬性之間返回邏輯與,即,如果未選中其中之一,則返回值為false。


.each()如果要實際切換每個復選框狀態而不是使它們都相等,則需要使用,例如


   $(':checkbox').each(function () { this.checked = !this.checked; });

請注意,您不需要$(this)在處理程序內部,因為該.checked屬性存在于所有瀏覽器中。


查看完整回答
反對 回復 2019-10-24
  • 3 回答
  • 0 關注
  • 582 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號