今天遇到一个问题,通过DataList中循环生成的RadioButton不能实现单选。查看了一下生成的源文件,发现RadioButton生成的客户端name各不相同,难怪不能实现单选了。刚开始始终在想怎么改变控件生成的name。在尝试N种方法之后发现行不通,上网也搜了一下,还是没找到满意的答案,但是园子里有篇文章提醒了我,可以从JS去考虑。结果证明这是可行的,下面贴上代码:
脚本代码:
<script type="text/javascript" >
function clickme(rName)
{
var r=document.getElementsByTagName("input");
for(var i=0;i<r.length;i++)
{
var rr=r[i];
if(rr.type=="radio")
{
rr.checked=false;
if(rr.name==rName)
{
rr.checked=true;
}
}else
{
continue;
}
}
}
</script>
服务器标签:
<asp:DataList ID="dl" runat="server">
<ItemTemplate>
<asp:RadioButton ID="aa" runat="server" GroupName="ss" onclick="clickme(this.name)" />
</ItemTemplate>
</asp:DataList>
大家看看有没有什么更好的方法,不吝赐教!