慕妹3146593
2019-08-23 15:51:23
jQuery復(fù)選框選中狀態(tài)更改事件當(dāng)選中/取消選中復(fù)選框時(shí),我希望事件觸發(fā)客戶端:$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}});基本上我希望它發(fā)生在頁(yè)面上的每個(gè)復(fù)選框上。這種方法是點(diǎn)擊并檢查狀態(tài)好嗎?我認(rèn)為必須有一個(gè)更清晰的jQuery方式。有人知道解決方案嗎?
3 回答

達(dá)令說(shuō)
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
綁定到change
事件而不是click
。但是,您可能仍需要檢查復(fù)選框是否已選中:
$(".checkbox").change(function() { if(this.checked) { //Do stuff }});
在change
事件上綁定事件的主要好處click
是,并非所有單擊復(fù)選框都會(huì)導(dǎo)致它更改狀態(tài)。如果您只想捕獲導(dǎo)致復(fù)選框更改狀態(tài)的事件,則需要使用恰當(dāng)命名的change
事件。 在評(píng)論中編輯
另請(qǐng)注意,我使用的this.checked
不是將元素包裝在jQuery對(duì)象中并使用jQuery方法,只是因?yàn)樗苯釉L問(wèn)DOM元素的屬性更短更快。
編輯(見評(píng)論)
要獲得所有復(fù)選框,您有幾個(gè)選項(xiàng)。您可以使用:checkbox
偽選擇器:
$(":checkbox")
或者您可以使用屬性equals selector:
$("input[type='checkbox']")

鴻蒙傳說(shuō)
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是找到的解決方案是否選中了復(fù)選框。使用#prop()函數(shù)//
$("#c_checkbox").on('change', function () { if ($(this).prop('checked')) { // do stuff// } });
添加回答
舉報(bào)
0/150
提交
取消