我在DataGrid中创建了两个模板列。我为这些列分配了单选按钮。我通过调用第一个单选按钮的javascript函数创建了单个选择。 但是,我不能通过调用第二个单选按钮的javascript函数来进行单一选择。而且,我不能彼此独立运行。
<asp:TemplateColumn HeaderText="">
<ItemTemplate>
<input type="radio" runat="server" id="rd1" onclick="SelectOne(this,'DataGrid')" VALUE="rd1"
NAME="RadioGroup1" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="">
<ItemTemplate>
<input type="radio" runat="server" id="rd2" onclick="test(this,'DataGrid')" VALUE="rd2"
NAME="RadioGroup2" />
</ItemTemplate>
</asp:TemplateColumn>
Javascript代码:
<script language="javascript">
function SelectOne(rd1,DataGrid)
{
all=document.getElementsByTagName("input");
for(i=0;i<all.length;i++)
{
if(all.type=="radio")
{
var count=all.id.indexOf(DataGrid+'__ctl');
if(count!=-1)
{
all.checked=false;
}
}
}
rd1.checked=true;
}
</script>
答案 0 :(得分:0)
是否有必要将单选按钮作为服务器端控件运行?如果删除runat = server并且只为每个属于同一组的单选按钮发出一个唯一的组名,则可能更容易管理,因为这会阻止asp.net更改ID。然后,您可以使用Request [“RadioGroupName”]而不是服务器控件值属性来检查所选值。
这将使群组正常工作,并使您的javascript更简单地选择单选按钮。