如何使用 jQuery 处理复选框的更改?

我有密码

<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" />

Javascript:

$(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 处理复选框的更改? 我需要让处理程序改变选中的复选框。

[更新]

有一个复选框和几个按钮。 每个按钮都可以更改复选框。 如何捕捉更改复选框的事件?

[更新]

I need handle change checkbox in this example Jsfiddle. 当我点击该框的消息“确定”按钮没有显示。

327720 次浏览

使用 :checkbox选择器:

$(':checkbox').change(function() {


// do stuff here. It will fire on any checkbox change


});

密码: http://jsfiddle.net/s6fe9/

霍普,这会有所帮助的。

$('input[type=checkbox]').change(function () {
if ($(this).prop("checked")) {
//do the stuff that you would do when 'checked'


return;
}
//Here do the stuff you want to do when 'unchecked'
});

You can use Id of the field as well

$('#checkbox1').change(function() {
if($(this).is(":checked")) {
//'checked' event code
return;
}
//'unchecked' event code
});
$('#myForm').on('change', 'input[type=checkbox]', function() {
this.checked ? this.value = 'apple' : this.value = 'pineapple';
});
$("input[type=checkbox]").on("change", function() {


if (this.checked) {


//do your stuff


}
});

在我看来,RemoveProp 在 Chrome 中不能正常工作: Jsfiddle

        $('#badBut1').click(function () {
checkit('Before');
if( $('#chk').prop('checked') )
{
$('#chk').removeProp('checked');
}else{
$('#chk').prop('checked', true);
}
checkit('After');
});
$('#But1').click(function () {
checkit('Before');
if( $('#chk').prop('checked') )
{
$('#chk').removeClass('checked').prop('checked',false);
}else{
$('#chk').addClass('checked').prop('checked', true);
}
checkit('After');
});


$('#But2').click(function () {
var chk1 = $('#chk').is(':checked');
console.log("Value : " + chk1);
});


$('#chk').on( 'change',function () {
checkit('Result');
});
function checkit(moment) {
var chk1 = $('#chk').is(':checked');
console.log(moment+", value = " + chk1);
};

通过 姓名得到无线电值

  $('input').on('className', function(event){
console.log($(this).attr('name'));
if($(this).attr('name') == "worker")
{
resetAll();
}
});