在dashcode中以编程方式更改复选框的状态

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的状态.

希望能帮助到你!


Luc*_*nes 0

或许:

checkbox.checked = "checked";
Run Code Online (Sandbox Code Playgroud)

然后:

checkbox.checked = "unchecked";
Run Code Online (Sandbox Code Playgroud)