ฉันมีรหัสบางอย่าง
<input type="checkbox" id="chk" value="value" />
<label for="chk">Value </label>
<br/>
<input type="button" id="But1" value="set value" />
<br />
<input type="button" id="But2" value="read checked" />
จาวาสคริปต์:
$(document).ready(function () {
console.log("Ready ...");
registerHandlers();
function registerHandlers() {
$('#But1').click(function () {
$('#chk').prop('checked', !$('#chk').is(':checked'));
});
$('#But2').click(function () {
var chk1 = $('#chk').is(':checked');
console.log("Value : " + chk1);
});
$('input[type="checkbox"]').change(function () {
var name = $(this).val();
var check = $(this).prop('checked');
console.log("Change: " + name + " to " + check);
});
}
});
วิธีจัดการการเปลี่ยนแปลงช่องทำเครื่องหมายโดยใช้ jQuery ฉันต้องการให้ตัวจัดการเปลี่ยนช่องทำเครื่องหมายที่เลือกไว้
[อัปเดต]
มีช่องทำเครื่องหมายและปุ่มไม่กี่ปุ่ม แต่ละปุ่มสามารถเปลี่ยนกล่องกาเครื่องหมาย จะจับเหตุการณ์เปลี่ยนช่องทำเครื่องหมายได้อย่างไร?
[อัปเดต]
ฉันจำเป็นต้องจัดการกับการเปลี่ยนแปลงช่องทำเครื่องหมายในตัวอย่างนี้jsfiddle เมื่อฉันคลิกที่กล่องข้อความปุ่ม "ตกลง" จะไม่ปรากฏขึ้น
ฉันไม่เข้าใจปัญหาของคุณจริงๆเหรอ? จะเกิดอะไรขึ้นเมื่อมีการเปลี่ยนแปลงช่องทำเครื่องหมาย?
—
Niklas
มีปัญหาอะไร? รหัสนี้ดูเหมือนจะใช้งานได้ดี
—
JaredPar
คุณช่วยเรียบเรียงคำถามของคุณใหม่ได้ไหม คุณมี $ ('input [type = "checkbox"]') อยู่แล้วเปลี่ยน handler มีอะไรผิดปกติ?
—
Madman
หากคุณเปลี่ยนปุ่มช่องทำเครื่องหมายเหตุการณ์การเปลี่ยนแปลงจะไม่เกิดขึ้น
—
BILL
FYI;
—
Stefan
$('#chk').prop('checked')
ส่งคืนบูลีนแทนที่จะเป็นค่าของแอตทริบิวต์ ดูapi.jquery.com/prop