使用ztree时为啥设置check属性不显示复选框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ztree时为啥设置check属性不显示复选框相关的知识,希望对你有一定的参考价值。

参考技术A treeNode.halfCheck 属性即可 请查看 halfCheck 的API 文档 以及 “Checkbox halfCheck 演示” 和 “Radio halfCheck 演示”本回答被提问者采纳

为啥单击复选框不会添加属性checked='checked' [关闭]

【中文标题】为啥单击复选框不会添加属性checked=\'checked\' [关闭]【英文标题】:Why clicking on checkbox does not add the attribute checked='checked' [closed]为什么单击复选框不会添加属性checked='checked' [关闭] 【发布时间】:2011-06-20 09:36:48 【问题描述】:

当我单击一个复选框时,为什么没有添加选中的属性?。你可以在这里看到代码 http://jsfiddle.net/FCrSg/

【问题讨论】:

让我们把事情弄清楚...您是否希望“checked”属性出现在 HTML 中? 见***.com/questions/3602170/… 【参考方案1】:

HTML 属性 checked 表示:在页面加载时选中默认。当复选框被点击时,这不会改变。

<input type="checkbox" checked="checked"> <!-- The HTML attribute -->

DOM 属性 checked 实际上是复选框的当前状态,并且是真/假。当复选框被点击时,这个改变,但在你检查 HTML 时不可见。

$('input:check')[0].checked == true;
// Whether or not the checkbox is currently checked

【讨论】:

这就是答案。忘记属性。 你能引用你的参考资料吗? 有参考资料吗?如果您能分享,将不胜感激。 我相信现在每个人都已经从这里开始了,但是对于要求参考的人:developer.mozilla.org/en-US/docs/Web/HTML/Element/input/…【参考方案2】:

你想做什么?看看它是否被选中?

$('.user_roles').click(function() 
    console.log( $(this).is(':checked'));
);

http://jsfiddle.net/petersendidit/FCrSg/1/

【讨论】:

上述解决方案对我来说工作得很好,但我也使用了 prop() 函数,它也工作得很好,但是对于相同的代码不起作用是什么原因请告诉我 此回复并未真正回答问题。【参考方案3】:

如果您想看到它出现在控制台中显示的元素上,请使用原生的setAttribute() 方法。

示例: http://jsfiddle.net/FCrSg/2/

this.setAttribute('checked',this.checked);

所以它看起来像这样:

$('.user_roles').click(function()
    this.setAttribute('checked',this.checked);
    console.log( $(this) );
);

那么控制台应该给你:

<input class=​"user_roles" type=​"checkbox" checked=​"true">​

虽然您通常不需要这样的属性集。通常属性就足够了。

【讨论】:

以上是关于使用ztree时为啥设置check属性不显示复选框的主要内容,如果未能解决你的问题,请参考以下文章

ztree复选框,过滤节点的机制

为啥设置checkbox属性完全无效

firefox(火狐)下 js中设置checkbox属性checked="checked"已有,但复选框却不显示勾选的原因

Ztree自动触发第一个节点的点击事件

为啥单击复选框不会添加属性checked='checked' [关闭]

为啥触发复选框时“已检查”属性不正确? [复制]