2012-02-13 49 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

希望這會解決您的問題。

相關問題