我正在尝试使用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;
};
提前感谢每个回复并祝你有个美好的一天
答案 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);
});