我在一个aspx页面中有两个datalist。我需要确保每个数据列表只能选择一个radiobutton。但是,我只能设法为两个数据列表执行此操作,这意味着当我单击datalist1上的单选按钮时,当我在datalist2上选择另一个单选按钮时,它只允许我选择一个单选按钮。我需要指出,当我在datalist1上选择一个radiobutton时,我也可以在datalist2上选择另一个。
有人可以帮助我吗?
以下是aspx页面中的javascript。
<script type="text/javascript" language="javascript">
function CheckOnes(spanChk) {
var oItem = spanChk.children;
var theBox = (spanChk.type == "radio")
spanChk : spanChk.children.item[0];
xState = theBox.unchecked;
elm = theBox.form.elements;
for (i = 0; i < elm.length; i++)
if (elm[i].type == "radio" && elm[i].id != theBox.id) {
elm[i].checked = xState;
}
}
function CheckTwos(spanChk2) {
var oItem2 = spanChk2.children;
var theBox2 = (spanChk2.type == "radio")
spanChk2 : spanChk2.children.item[0];
xState2 = theBox2.unchecked;
elm2 = theBox2.form.elements;
for (i = 0; i < elm2.length; i++)
if (elm2[i].type == "radio" && elm2[i].id != theBox2.id) {
elm2[i].checked = xState2;
}
}
下面是aspx.cs中的代码
protected void DataList2_ItemDataBound(object sender, DataListItemEventArgs e)
{
RadioButton rdb;
rdb = (RadioButton)e.Item.FindControl("radioDelete");
if (rdb != null)
rdb.Attributes.Add("onclick", "CheckTwos(this);");
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
RadioButton rdb;
rdb = (RadioButton)e.Item.FindControl("radioAdd");
if (rdb != null)
rdb.Attributes.Add("onclick", "CheckOnes(this);");
}
答案 0 :(得分:0)
你需要让任何一组radiobutton具有相同的名称。
Group1 :
<input type="radio" name="group1" />
<input type="radio" name="group1" />
Group2 :
<input type="radio" name="group2" />
<input type="radio" name="group2" />
Group3 :
<input type="radio" name="group3" />
<input type="radio" name="group3" />