我的页面中有两个确切的单选按钮列表,顶部和底部。如果我在顶部列表中选择一个单选按钮,我希望底部列表进行相同的更改。有什么办法可以实现这种同步?我的单选按钮列表位于内容页面中。
<asp:RadioButtonList ID="rblVerification1" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="V">Verified</asp:ListItem>
<asp:ListItem Selected="True" Value="NV">Not Verified</asp:ListItem>
</asp:RadioButtonList>
更新:我写了以下 javascript 函数,但它不起作用。第一个警报返回 34,一个奇怪的数字,我期待 2。第二个警报返回未定义。谁能告诉我做错了什么?
function rblVerificationClicked(source, destination) {
alert(source.length);
var selectedValue;
for (var x = 0; x < source.length; x++) {
if (source[x].checked) {
selectedValue = source[x].value;
break;
}
}
alert(selectedValue);
for (var x = 0; x < destination.length; x++) {
destination[x].checked = false;
}
for (var x = 0; x < destination.length; x++) {
if (destination[x].value == selectedValue) {
destination[x].checked = true;
break;
}
}
}
在 page_load 中,我添加了
rblVerification.Attributes.Add("OnClick", string.Format("rblVerificationClicked('{0}', '{1}');", rblVerification.ClientID, rblVerification1.ClientID));
rblVerification1.Attributes.Add("OnClick", string.Format("rblVerificationClicked('{0}', '{1}');", rblVerification1.ClientID, rblVerification.ClientID));
已解决:我找到了导致问题的原因。asp:RadioButtonList 呈现为 input type=”radio” HTML 元素。因此,要获取 asp:RadioButtonList 客户端 ID,请调用 getElementsByTagName(“input”),它将返回一个单选按钮数组。