繁体   English   中英

使用javascript启用/禁用单选按钮列表

[英]enable/disable radiobuttonlist with javascript

我正在尝试使用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;
        };

在此先感谢您的答复,并祝您白天/晚上都愉快

您可以尝试以下方法:

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');

 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;
        }

尝试类似

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

rbl是您的单选按钮列表的ID。

对于跨平台支持,您需要使用类似以下内容的一种:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM