2016-06-21 73 views
0

我想使用書籤來檢查和取消選中某些複選框。但是,複選框的創建方法似乎有些不合常規。啓用與Javascript的複選框

<DIV class=criteriaSelectorSection id=EntityContatiner> 
    <DIV id=EntityContainer_Checked> 
     <DIV><INPUT id="c_Checkbox2" onclick=HandleClick(this); type=checkbox CHECKED value=""><LABEL title="Checkbox2">Checkbox 2</LABEL></DIV> 
    </DIV> 
    <DIV id=EntityContainer_Unchecked> 
     <DIV class=cIControls><INPUT id="u_Checkbox1" onclick=HandleClick(this); type=checkbox CHECKED value=""><LABEL title="Checkbox 1">Checkbox 1</LABEL></DIV> 
     <DIV class=cIControls style="DISPLAY: none"><INPUT id="u_Checkbox2" onclick=HandleClick(this); type=checkbox CHECKED value=""><LABEL title="Checkbox 2">Checkbox 2</LABEL></DIV> 
    </DIV> 
</DIV> 

當單擊一個複選框時,它似乎不會更改其值(在DOM中),直到單擊搜索按鈕。它的樣式在unchecked div中被設置爲不顯示。同樣,如果它被用戶禁用,它會「移動」(通過ASP.NET/AJAX)到未選中的div。我試過document.getElementById("u_Checkbox1").checked = true;,document.getElementById("u_Checkbox1").enabled = true;document.getElementById("u_Checkbox1").Click()。但是,這些似乎都沒有註冊。謝謝你的幫助。

+2

這就是所謂的無效標記生成。您無法將同一個ID分配給單個頁面中的多個元素。 – Jai

+0

你可以使用更改功能 - onchange = HandleClick(this) http://codepen.io/nagasai/pen/aZBNWr –

+0

@Jai是的,你是對的。該頁面將u_和c_(未選中並選中)附加到該ID。但是,同樣的問題存在。 – sundorer

回答

0

爲了使這種控制,你應該使用...

document.getElementById("u_Checkbox1").disabled = false; 

沒有enabled屬性,反直覺的,因爲這是。