如何使用 jQueryUniform 库取消复选框

我在取消选中 checkbox时遇到了一个问题。看看 我的小提琴,我正在尝试:

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

我使用 制服风格的 checkbox,它只是不工作的 检查[取消检查]checkbox

有什么想法吗?

288112 次浏览

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

示例: < a href = “ http://jsfiddle.net/r87NH/4/”rel = “ noReferrer”> http://jsfiddle.net/r87nh/4/

$("input:checkbox").uniform();


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

另一种方法是,

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

这会导致制服选中复选框并更新它的掩码

如果使用文档中提到的 javascript 更新元素,则需要调用 $.uniform.update()

首先,checked的值可以是 checked,也可以是空字符串。

$("input:checkbox").uniform();


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

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

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

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

你亦可使用:

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

这将切换复选框的复选/取消复选,但这也将触发您已定义的任何单击操作。所以要小心。

编辑 : jQuery 1.6 + 对复选框的选中值使用 prop()而不是 attr()

如果您正在使用 制服1.5,那么可以使用这个简单的技巧在复选框的输入字段中添加或删除 check < br > Just add value = “ check”属性。< br > 在 uniform.js > function doCheckbox(elem){ > .click(function(){中添加此代码

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

如果您不想在您的输入框中添加 value = “ check”,因为在某些情况下您需要添加两个复选框,所以使用这个

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

如果您使用的是 制服2.0,那么可以使用这个简单的技巧在这个 classUpdateChecked($tag, $el, options) {函数 change < br > 中添加或删除 check < br > 属性

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();

这招对我很管用。

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

这对我很有用,它将取消复选框。 就像我们可以利用

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

选中复选框。

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

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

对于切换,可以使用 if else 函数

行为类似于单选 btn 的复选框

$(“ . checkgroup”) . live (‘ change’,function (){ Var previous = this.checked; $(“ . checkgroup) . attr (“ check”,false) ; $(this) . attr (“勾选”,上一页) ; }) ;

照我说的做:

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

 $("#checkall").change(function () {
var checked = $(this).is(':checked');
if (checked) {
$(".custom-checkbox").each(function () {
$(this).prop("checked", true).uniform();
});
} else {
$(".custom-checkbox").each(function () {
$(this).prop("checked", false).uniform();
});
}
});


// Changing state of CheckAll custom-checkbox
$(".custom-checkbox").click(function () {
if ($(".custom-checkbox").length == $(".custom-checkbox:checked").length) {
$("#chk-all").prop("checked", true).uniform();
} else {
$("#chk-all").removeAttr("checked").uniform();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id='checkall' /> Select All<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="PHP"> PHP<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="AngularJS"> AngularJS<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="Python"> Python<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="Java"> Java<br/>