如何取消选中使用jQuery统一库的checkbox
我有一个取消选中checkbox
的问题。 看看我的jsFiddle ,我正在尝试:
$("#check2").attr("checked", true);
我使用统一的样式checkbox
,它根本无法检查/取消选中 checkbox
。
有任何想法吗?
看看他们的文档,他们有一个$.uniform.update
function来刷新一个“统一”的元素。
例如: 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); });