检查/取消选中使用jQuery的checkbox?

我在我的页面中有一些input文本字段,我使用javascript setVal函数来显示它们的值来编辑,我添加了一个额外的checkbox字段,我传递了一个值,

在这里,我想检查,如果value == 1 ,那么这个checkbox应该被检查,否则不选中,

我做了这个使用两个div,但我不舒服,有没有其他解决scheme?

 if(value == 1) { $('#uncheck').hide(); $('#check').show(); } else{ $('#uncheck').show(); $('#check').hide(); } 

对于jQuery <1.6:

要选中/取消选中checkbox,请使用选中的属性并对其进行修改。 用jQuery你可以这样做:

 $('#myCheckbox').attr('checked', true); // Checks it $('#myCheckbox').attr('checked', false); // Unchecks it 

因为你知道,在HTML中,它看起来像这样:

 <input type="checkbox" id="myCheckbox" checked="checked" /> <!-- Checked --> <input type="checkbox" id="myCheckbox" /> <!-- Unchecked --> 

但是,您不能相信.attr()方法来获取checkbox的值(如果需要的话)。 您将不得不依靠.prop()方法。

所以对于jQuery 1.6+:

.attr()已弃用于属性; 使用新的.prop()函数,而不是:

 $('#myCheckbox').prop('checked', true); // Checks it $('#myCheckbox').prop('checked', false); // Unchecks it 

您可以使用prop() ,因为在jQuery 1.6之前 , .attr()方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致。 从jQuery 1.6开始.prop()方法提供了显式检索属性值的方法,而.attr()检索属性。

 var prop=false; if(value == 1) { prop=true; } $('#checkbox').prop('checked',prop); 

或者干脆,

 $('#checkbox').prop('checked',(value == 1)); 

片段

 $(document).ready(function() { var chkbox = $('.customcheckbox'); $(".customvalue").keyup(function() { chkbox.prop('checked', this.value==1); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <h4>This is a domo to show check box is checked if you enter value 1 else check box will be unchecked </h4> Enter a value: <input type="text" value="" class="customvalue"> <br>checkbox output : <input type="checkbox" class="customcheckbox"> 

您可以根据以下值设置checkbox的状态:

 $('#your-checkbox').prop('checked', value == 1);