【发布时间】:2012-02-20 18:03:09
【问题描述】:
我想使用复选框的不确定属性。更改 JavaScript 中的值适用于各种浏览器(甚至 MSIE6!),但是,我无法通过 any 中的 HTML 属性设置初始值。
这是设计使然吗? 如果是,为什么?在服务器端,我可以确定它是不确定的。那么,为什么我不能告诉浏览器呢?如果长时间运行的脚本支持属性设置,浏览器供应商难道不担心 FOUC(无样式内容的闪烁)吗?
这是一个工作示例:http://jsfiddle.net/KUQC9/1/
【问题讨论】:
-
indeterminate属性是什么? -
@Rocket,看看工作示例。
-
我现在才刚刚了解这一点。我有一个问题要问你,实际上......你说你可以确定它在服务器上是不确定的:你是怎么做到的? (顺便说一句,您可以通过使用 DOM-load 事件而不是超时 - jsfiddle.net/Cd35L - 甚至更早 - jsfiddle.net/dV3uL 来很大程度上避免 FOUC)
-
我在服务器上存储了一个树结构。我基本上恢复了上次提交包含嵌套复选框的表单时的状态。也就是说,在构建表单时,如果之前未选中某个节点,我会递归树以查找任何已选中的子节点。如果检查了任何子级,则父级是不确定的。关于 FOUC,我的树有点大——再大一点,我就会担心 FOUC 的可能性。
标签: javascript html dom