使用javascript启用/禁用radiobuttonlist

时间:2011-11-09 22:57:55

标签: javascript asp.net

我正在尝试使用javascript代码启用/禁用radiobuttonlist。这个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;
        };

提前感谢每个回复并祝你有个美好的一天

4 个答案:

答案 0 :(得分: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');

答案 1 :(得分:1)

尝试类似

的内容
document.getElementById('rbl').setAttribute('disabled', 'disabled');

rbl是您的radiobuttonlist的ID。

答案 2 :(得分: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;
        }

答案 3 :(得分:0)

对于跨平台支持,您需要使用类似这样的内容:

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