如何取消选中使用jQuery统一库的checkbox

我有一个取消选中checkbox的问题。 看看我的jsFiddle ,我正在尝试:

  $("#check2").attr("checked", true); 

我使用统一的样式checkbox ,它根本无法检查/取消选中 checkbox

有任何想法吗?

看看他们的文档,他们有一个$.uniform.updatefunction来刷新一个“统一”的元素。

例如: http : //jsfiddle.net/r87NH/4/

 $("input:checkbox").uniform(); $("body").on("click", "#check1", function () { var two = $("#check2").attr("checked", this.checked); $.uniform.update(two); }); 

一个更简单的解决scheme是做这个,而不是使用统一:

 $('#check1').prop('checked', true); // will check the checkbox with id check1 $('#check1').prop('checked', false); // will uncheck the checkbox with id check1 

这不会触发任何定义的点击操作。

你也可以使用:

 $('#check1').click(); // 

这将切换checkbox的选中/取消选中,但是这也会触发您定义的任何点击操作。 所以要小心。

编辑 :jQuery 1.6 +使用prop()不是attr()checkbox选中的值

 $("#chkBox").attr('checked', false); 

这对我来说,这将取消checkbox。 以同样的方式,我们可以使用

 $("#chkBox").attr('checked', true); 

检查checkbox。

如果你使用统一的1.5,那么使用这个简单的技巧来添加或删除检查的属性
只需在checkbox的input字段中添加value =“check”即可。
function doCheckbox(elem){添加这个代码> function doCheckbox(elem){ > function doCheckbox(elem){ .click(function(){

 if ( $(elem+':checked').val() == 'check' ) { $(elem).attr('checked','checked'); } else { $(elem).removeAttr('checked'); } 

如果你不想在你的input框中增加value =“check”,因为在某些情况下你添加了两个checkbox,所以使用这个

 if ($(elem).is(':checked')) { $(elem).attr('checked','checked'); } else { $(elem).removeAttr('checked'); } 

如果您使用的是统一2.0,那么使用这个简单的技巧来添加或删除检查的属性
在这个classUpdateChecked($tag, $el, options) { function change

 if ($el.prop) { // jQuery 1.6+ $el.prop(c, isChecked); } 

 if ($el.prop) { // jQuery 1.6+ $el.prop(c, isChecked); if (isChecked) { $el.attr(c, c); } else { $el.removeAttr(c); } } 
 $('#check1').prop('checked', true).uniform(); $('#check1').prop('checked', false).uniform(); 

这对我有效。

只要这样做:

 $('#checkbox').prop('checked',true).uniform('refresh'); 

你需要调用$.uniform.update()如果你使用JavaScript更新元素,如文档中所述。

首先, checked可以有一个checked值,或一个空string。

 $("input:checkbox").uniform(); $('#check1').live('click', function() { $('#check2').attr('checked', 'checked').uniform(); }); 

在某些情况下,你可以使用这个:

 $('.myInput').get(0).checked = true 

对于切换,您可以使用其他function

另一个办法是,

使用$('#check2').click();

这导致统一检查checkbox,并更新它的掩码

checkbox,就像收音机btn一样

$(".checkgroup").live('change',function() { var previous=this.checked; $(".checkgroup).attr("checked", false); $(this).attr("checked", previous); });