我的页面有两个完全单选按钮列表,顶部和底部。如果我选择顶部列表中的单选按钮,我希望底部列表进行相同的更改。有什么办法可以实现这种同步吗? 我的单选按钮列表位于内容页面中。如何同步两个控件?
<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呈现为输入type =“radio”的HTML元素。 因此,要获得asp:RadioButtonList客户端ID,请调用getElementsByTagName(“input”),它将返回一个单选按钮数组。
你可以使用JavaScript来实现这一点。 –