好的,所以我试图在程序代码中以编程方式更改复选框的状态.我试过了:
var checkbox = document.getElementById("checkbox"); // I have tried all the following methods. checkbox.checked = false; checkbox.selected = false; checkbox.value = false;
Andy E.. 17
仪表板小部件只在WebKit技术上运行,因此对Safari有效的代码也应该在Dashcode中有效.以下任何一种都应该有效:
checkbox.checked = true; checkbox.setAttribute("checked", "true");
他们不工作的事实表明您的代码中的其他地方存在问题.我会检查一下
var checkbox = document.getElementById("checkbox");
正确地为checkbox
变量分配元素.另外,检查"checkbox"元素的id是否有效且正确(不重复,没有拼写错误等).
仪表板小部件只在WebKit技术上运行,因此对Safari有效的代码也应该在Dashcode中有效.以下任何一种都应该有效:
checkbox.checked = true; checkbox.setAttribute("checked", "true");
他们不工作的事实表明您的代码中的其他地方存在问题.我会检查一下
var checkbox = document.getElementById("checkbox");
正确地为checkbox
变量分配元素.另外,检查"checkbox"元素的id是否有效且正确(不重复,没有拼写错误等).
我写这个答案时,这个问题已经有一个月了.它可能已经解决了,但无论如何我想补充一点,如果你使用Dashcode,Checkbox部分是一个包含一个标签和一个输入的div,这个是"真正的"复选框.
如果你检查在Safari中加载的html,你会注意到"checkbox"是元素的类型.
因此,更改复选框状态的正确方法是,假设"input"是其id(虽然可以附加默认数字):
document.getElementById("input").checked="true";
或者您想要使用哪种方法.
这里的要点是你试图改变另一个div的状态.
希望能帮助到你!