很多地方都提到,如何通过JS设置服务器控件RadioButtonList在客户端为不可用,但是,始终都没有说清楚,并且,都没有提供好的能解决问题的办法。
本站通过研究,终于得出了解决问题的有效代码。
要解决的问题是,在客户端通过JS代码设置RadioButtonList控件为不可用,即不能点击不能选择,RadioButtonList始终是灰暗的。
①服务器端的条件
服务器端网页放置一个RadioButtonList控件。
然后,在页面的后台代码中,加入如下的代码
this.RadioButtonList1.Attributes.Add("onclick", "GetMyRbResult()");
该代码为控件添加客户端事件。
②客户端的JS代码
<script type="text/javascript">
function GetMyRbResult()
{
var r = document.getElementById("RadioButtonList1");
var p = r.getElementsByTagName("input");
for(var i=0;i<p.length;i++)
{
if(p[i].type=="radio" && p[i].checked)
{
for(var j=0;j<p.length;j++)
{
p[j].disabled="false";//千万不能使用p[j].disabled=false;
}
}
}
}
</script>
注意,RadioButtonList1是控件的ID号。可自行修改。上面JS代码的功能是,当点击并选中RadioButtonList其中的一个值后,控件变灰暗,之后不能再点击不能再修改选项,意思就是RadioButtonList只能选择一次。