jQuery Uniform复选框不(取消)检查

前端之家收集整理的这篇文章主要介绍了jQuery Uniform复选框不(取消)检查前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 jQuery Uniform来样式输入/选择等。但是,该复选框已停止工作。我附加从ajax调用发送的数据。一旦它加载,我使用$ .uniform.update(“input:checkBox”)来更新新的html。当尝试(取消)检查输入时,它只工作一次。如果我想(不再)检查它,它不会改变。

我试图改变Uniform Javascript,使所有的动作(即点击,焦点,模糊等)在.live函数下。 (即.live(“click”,)。这只是阻止了工作。

更新:

我完全阅读了Uniform JS,发现了一个问题:

if(!$(elem).attr("checked")){
    //Box was just unchecked,uncheck span
    spanTag.removeClass(options.checkedClass);
}else{
    //Box was just checked,check span.
    spanTag.addClass(options.checkedClass);
}

.attr(“checked”)语法失败。它总是返回false。为什么?我不知道。除此之外,它不会更新原始输入以删除checked属性或设置checked属性

我已经通过官方网站,发现它不更新复选框输入。所以这不只是我的xP

我已经google了一下,发现了各种方法来检查复选框是否被选中,但以下方法失败:

if ($(elem).attr("checked")) // The original.
if ($(elem).attr("checked") == true)
if ($(elem).is(":checked"))
if ($(elem).checked)
// and:
var check = $(elem).match(/checked=/);
if (check == null)

非常感谢的指导的语句:3

解决方法

简单解决方

这是因为如果您需要动态更改表单上的值,UniformJs需要更新对统一元素的修改

$('#checkBox').prop('checked',true);
$.uniform.update();

编辑

如果您只想更新#checkBox

$('#checkBox').prop('checked',true);
$.uniform.update('#checkBox');

猜你在找的jQuery相关文章