2011-11-09 66 views
2

我試圖用javascript代碼啓用/禁用radiobuttonlist。這個JavaScript在文本框中工作正常,但看起來它不適用於單選按鈕。 這裏是我使用的代碼:提前爲每次回覆使用javascript啓用/禁用radiobuttonlist

var chkEPM = document.getElementById("<%=chkEPM.ClientID %>"); 
     chkEPM.onchange = function() { 
      if (this.checked == true) 
       document.getElementById("<%=rblEPM.ClientID %>").disabled = false; 
      else 
       document.getElementById("<%=rblEPM.ClientID %>").disabled = true; 
     }; 

感謝,並有一個良好的晝/夜

回答

3

你可以試試這個:

function changeItemState(disable) 
{ 
    rb = document.getElementById("<%=rblEPM.ClientID %>"); 

    var rbItems = rb.getElementsByTagName('input'); 

    for (var itemIndex = 0; itemIndex < rbItems.length; itemIndex++) 
    { 
     rbItems[itemIndex].disabled = disable; 
    } 
} 

var chkEPM = document.getElementById("<%=chkEPM.ClientID %>"); 
chkEPM.onchange = function() { 
    if (this.checked == true) 
     changeItemState(false); 
    else 
     changeItemState(true); 
}; 

或者,如果你可以使用jQuery 1.6或更高版本,你可以這樣做:

$("#<%=rblEPM.ClientID %>").find('input').prop('disabled', 'true'); 
+0

非常感謝,這工作:)。祝你有個愉快的日子 – Laziale

+0

有沒有一種方法,我可以如何利用多個單選按鈕列表,我可以看到elementID是硬編碼的功能? – Laziale

+0

沒關係,我想明白了,在這種情況下,我將var'chkEPM'傳遞給函數並在那裏使用它:)。再次感謝 – Laziale

1

試着這麼做

document.getElementById('rbl').setAttribute('disabled', 'disabled'); 

rbl是你的單選按鈕列表的ID 。

+0

nope,同樣的事情,不想反應 – Laziale

+0

@Laziale然後你應該檢查document.getElementById('radiobtnListID')'實際上是否返回DOM對象。你可以使用像Firebug這樣的javascript調試工具。 –

+0

當我使用IE調試工具時出現這個錯誤:「無法獲取屬性值'set​​Attribute':object is null」 – Laziale

0

對於跨平臺的支持ü需要使用像這樣:

$('#RadioButtonList1').find('*').each(function() 
{ 
    $(this).attr("disabled", true); 
}); 
+0

問題中沒有jQuery標籤。 –

1

function EnableDisableRadio(CheckBox1) { 
      var controls = document.getElementById("<%=Panel1.ClientID%>").getElementsByTagName("input"); 
      for (var i = 0; i < controls.length; i++) 
       controls[i].disabled = CheckBox1.checked ? false : true; 
     } 
+0

試試這個工作100% – Suraj

+0

這將有助於包括一些關於爲什麼這個「工作100%」的解釋,如[本答案](http://stackoverflow.com/a/6908533/1677912)。 – Mogsdad

相關問題