如何使用jQuery Uniform库取消选中复选框

Upv*_*ote 144 checkbox jquery

我在取消选中时遇到问题checkbox.看看我的jsFiddle,我在尝试:

   $("#check2").attr("checked", true);
Run Code Online (Sandbox Code Playgroud)

我使用统一的造型的checkbox,它根本不工作,检查/取消checkbox.

有任何想法吗?

Mr.*_*unt 367

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

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

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

您还可以使用:

$('#check1').click(); // 
Run Code Online (Sandbox Code Playgroud)

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

编辑:jQuery 1.6+ prop()attr()用于复选框检查值

  • 这为我保留了jQuery 1.7.1中的checked属性.工作,但没有做你认为应该做的事情. (2认同)

use*_*716 108

看看他们的文档,他们有一个$.uniform.update功能来刷新"穿制服"的元素.

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

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

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

  • @mkoryak:在1.4.4`中工作正常,但是js和css文件的链接被破坏了.[这是一个更新的小提琴.](http://jsfiddle.net/r87NH/106/)如果你的意思是它会在`1.6`中有特别的问题,那么这可能是真的,因为jQuery改变然后恢复了`.attr的行为()`.使用`1.6`或更高版本,你应该使用`.prop()`. (5认同)

小智 24

$("#chkBox").attr('checked', false); 
Run Code Online (Sandbox Code Playgroud)

这对我有用,这将取消选中复选框.以同样的方式我们可以使用

$("#chkBox").attr('checked', true); 
Run Code Online (Sandbox Code Playgroud)

选中复选框.

  • 我认为最好使用.prop()函数而不是.attr().否则它将无法按预期工作...... (4认同)

Soh*_*med 13

如果您使用的是统一1.5,那么使用这个简单的技巧来添加或删除检查属性
只需在复选框的输入字段中添加value ="check".
在添加该代码uniform.js> function doCheckbox(elem){>.click(function(){

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

如果您不想在输入框中添加value ="check",因为在某些情况下您添加了两个复选框,因此请使用此选项

if ($(elem).is(':checked')) {
 $(elem).attr('checked','checked');
}    
else
{    
 $(elem).removeAttr('checked');
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是统一2.0,那么使用这个简单的技巧来添加或删除
classUpdateChecked($tag, $el, options) {函数更改中的check属性

if ($el.prop) {
    // jQuery 1.6+
    $el.prop(c, isChecked);
}
Run Code Online (Sandbox Code Playgroud)

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

}
Run Code Online (Sandbox Code Playgroud)


Par*_*jat 7

$('#check1').prop('checked', true).uniform(); 
$('#check1').prop('checked', false).uniform(); 
Run Code Online (Sandbox Code Playgroud)

这对我有用.