นี่คือทางออกที่ทันสมัยที่สุด
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9" id="group1" />Check Me
<input type="checkbox" name="chk9[120]" class="group1" />
<input type="checkbox" name="chk9[140]" class="group1" />
<input type="checkbox" name="chk9[150]" class="group1" />
</form>
$(function() {
enable_cb();
$("#group1").click(enable_cb);
});
function enable_cb() {
$("input.group1").prop("disabled", !this.checked);
}
นี่คือรายละเอียดการใช้งานสำหรับการและ.attr()
.prop()
jQuery 1.6+
ใช้.prop()
ฟังก์ชั่นใหม่:
$("input.group1").prop("disabled", true);
$("input.group1").prop("disabled", false);
jQuery 1.5 และต่ำกว่า
ฟังก์ชั่นไม่สามารถใช้ได้ดังนั้นคุณจำเป็นต้องใช้.prop()
.attr()
หากต้องการปิดใช้งานช่องทำเครื่องหมาย (โดยการตั้งค่าของคุณสมบัติที่ปิดใช้งาน) ให้ทำ
$("input.group1").attr('disabled','disabled');
และสำหรับการเปิดใช้งาน (โดยลบแอตทริบิวต์ทั้งหมด) ทำ
$("input.group1").removeAttr('disabled');
jQuery ทุกรุ่น
DOMElement.disabled = true
หากคุณกำลังทำงานที่มีเพียงองค์ประกอบหนึ่งก็มักจะเป็นที่เร็วที่สุดในการใช้งาน ประโยชน์ในการใช้งาน.prop()
และ.attr()
ฟังก์ชั่นคือพวกมันจะทำงานกับองค์ประกอบที่ตรงกันทั้งหมด
// Assuming an event handler on a checkbox
if (this.disabled)
อ้างอิง: การตั้งค่า "ตรวจสอบ" สำหรับช่องทำเครื่องหมายด้วย jQuery?