2012-02-13 47 views
0

我正在向上移动/向下移动我的列表中的一个函数,并且需要移动的东西包含复选框。不过,我在PHP中设置了checked属性,当我切换元素的innerHTML时,checked状态总是回复到checked属性的设置。我试图使一个onchange功能更改的属性,因为我与如何在javascript中更改checked =“checked”的内联属性?

if(el.checked == true) 
    el.setAttribute("checked", "checked"); 
else 
    el.setAttribute("checked", ""); 

单击它,但不工作(我不知道为什么我甚至有望它的工作,说实话)

任何想法我能做到吗?在dom树中全部切换元素会有问题,因为不会在PHP中设置checked属性。

编辑:aparently没有办法做我所问的问题,但我的问题是通过不是一个懒惰的混蛋和在DOM中移动像我支持的东西来解决的。

+0

试过'('checked',false)'和'('checked',true)'? – OptimusCrime 2012-02-13 09:11:52

回答

1

checked属性存在于HTML(无论有什么样的值),则该IDL(DOM)属性checked被初始化为true,作为相反为其默认值false。你的代码似乎期望不然。我不明白你在做什么,因为你应该能够在这样的操作中移动一个复选框元素。如果移动元素节点,则不需要使用属性。

+0

我试图避免移动元素节点并使用innerHTML开关,但似乎我别无选择。或者在加载窗口后在JavaScript中设置默认的选中值。 – Bogdan 2012-02-13 09:19:16

+0

我不知道为什么你不会在元素节点上操作,但即使使用'innerHTML',你也不能只是包含'checked'属性的HTML代码吗?如果不是,那么你可以在JavaScript中将'input'元素节点属性'checked'设置为'true'。 – 2012-02-13 09:57:22

0

设置checked属性:

checkboxObject.checked=true|false 

你可以试试这个方法

if(true) document.getElementById("check1").checked = true; 
else document.getElementById("check1").checked = false; 

检查w3School.com

希望这会解决您的问题。

相关问题