如何使用jQuery统一库取消选中复选框
我在取消选中如何使用jQuery统一库取消选中复选框,jquery,checkbox,Jquery,Checkbox,我在取消选中复选框时遇到问题。看看我正在尝试的地方: $("#check2").attr("checked", true); 我用于设置复选框的样式,但选中/取消选中复选框是行不通的 有什么想法吗?看看他们的文档,他们有一个$.uniform.update功能来刷新“uniformed”元素 示例: 另一种方法是 使用$('#检查2')。单击() 这将导致uniform选中复选框并更新其掩码。如果您使用文档中提到的javascript更新元素,则需要调用$.uniform.update(
复选框时遇到问题。看看我正在尝试的地方:
$("#check2").attr("checked", true);
我用于设置复选框的样式,但选中/取消选中复选框是行不通的
有什么想法吗?看看他们的文档,他们有一个$.uniform.update
功能来刷新“uniformed”元素
示例:
另一种方法是
使用$('#检查2')。单击()代码>
这将导致uniform选中复选框并更新其掩码。如果您使用文档中提到的javascript更新元素,则需要调用$.uniform.update()
。首先,选中的值可以是选中的,也可以是空字符串
$("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()
作为复选框的选中值如果您正在使用,那么使用这个简单的技巧来添加或删除check属性
只需在复选框的输入字段中添加value=“check”。
在uniform.js
函数doCheckbox(elem)中添加此代码{
。单击(函数(){
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');
}
如果您正在使用,那么使用这个简单的技巧在这个classUpdateChecked($tag,$el,options){
函数更改中添加或删除check的属性
if ($el.prop) {
// jQuery 1.6+
$el.prop(c, isChecked);
}
到
这对我有用
$("#chkBox").attr('checked', false);
这对我有效,这将取消选中复选框。
以同样的方式,我们可以使用
$("#chkBox").attr('checked', true);
选中复选框。在某些情况下,您可以使用以下选项:
$('.myInput').get(0).checked = true
对于切换,您可以使用if-else和功能类似于radio btn的复选框
$(“.checkgroup”).live('change',function()){
var previous=已选中此项;
$(“.checkgroup).attr(“checked”,false);
$(此).attr(“选中”,前一个);
});
只要这样做:
$('#checkbox').prop('checked',true).uniform('refresh');
$(“#checkall”).change(函数(){
var checked=$(this).is(':checked');
如果(选中){
$(“.custom复选框”)。每个(函数(){
$(this).prop(“选中”,true).uniform();
});
}否则{
$(“.custom复选框”)。每个(函数(){
$(this).prop(“选中”,false).uniform();
});
}
});
//更改CheckAll自定义复选框的状态
$(“.custom复选框”)。单击(函数(){
if($(“.custom checkbox”).length==$(“.custom checkbox:checked”).length){
$(“#chk all”).prop(“选中”,true).uniform();
}否则{
$(“#chk all”).removeAttr(“checked”).uniform();
}
});
选择全部
PHP
AngularJS
Python
Java
在google chrome和firefox中,它对我都不起作用将布尔值作为选中的的值传递也没什么错。但是我们没有编写HTML标记。我们正在设置一个属性。看看选中的属性。没关系……我也不太明白为什么它无效……传递布尔值仅在1.6+中受支持,在此之前,您必须将checked属性设置为“checked”或将其删除。@mkoryak:在1.4.4
中工作正常,但指向js和css文件的链接已断开。如果您的意思是说它在1.6
中特别存在问题,那么这可能是真的,因为jQuery改变了然后恢复了行为或者.attr()
。使用1.6
或更高版本,您应该真正使用.prop()
。我看不出更新的JSFIDLE和原始版本之间完全没有区别(一直到复选框2的错误标记),除了更新版本对我有效,而原始版本对我无效!?!?顺便说一句,所有这些像素绘制的统一形式在视网膜上看起来非常不稳定。对我不起作用也不起作用JSFIDLE不起作用或混淆了这使选中属性与jQuery 1.7.1中的属性相同。起作用,但不起作用。我认为最好使用.prop()函数而不是.attr()。否则它将无法始终按预期工作…非常感谢。我可以确认这是最简单的解决方案。
$("#chkBox").attr('checked', true);
$('.myInput').get(0).checked = true
$('#checkbox').prop('checked',true).uniform('refresh');