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