0
我在一個aspx頁面中有兩個數據列表。我需要確保每個數據專家只能選擇一個單選按鈕。然而,我只能設法爲這兩個datalist做這件事,這意味着當我點擊datalist1上的單選按鈕,並且當我在datalist2上選擇另一個單選按鈕時,它只允許我選擇一個單選按鈕。我需要做的是,當我在datalist1上選擇一個單選按鈕時,我也可以在datalist2上選擇另一個單選按鈕。在一個aspx頁面中具有單選按鈕的兩個datalist
有人可以幫助我嗎?
以下是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);");
}
當你通過「本」,以CheckOnes/CheckTwos,它基本上查找容器頁面中的所有單選按鈕。而是傳遞單獨的DataList實例並進行檢查。 – prthrokz
這意味着我將它更改爲CheckOnes(DataList1)和CheckTwos(DataList2)? – FredHomme
它應該是(發件人爲DataList)而不是(this) – prthrokz