Asp.net 如何同步两个控件?
我的页面上有两个单选按钮列表,顶部和底部。如果我在顶部列表中选择一个单选按钮,我希望底部列表进行相同的更改。有什么方法可以实现这种同步吗? 我的单选按钮列表位于内容页中Asp.net 如何同步两个控件?,asp.net,controls,Asp.net,Controls,我的页面上有两个单选按钮列表,顶部和底部。如果我在顶部列表中选择一个单选按钮,我希望底部列表进行相同的更改。有什么方法可以实现这种同步吗? 我的单选按钮列表位于内容页中 <asp:RadioButtonList ID="rblVerification1" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Value="V">Verified</asp:ListItem
<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>
决议:
我找到了问题的原因。
asp:RadioButtonList呈现为输入type=“radio”HTML元素。
因此,要获取asp:RadioButtonList客户端id,请调用getElementsByTagName(“输入”),它将返回一个单选按钮数组。最简单的方法是通过JavaScript执行此操作。我在下面创建了一些示例代码: html:
<div id="list1">
<input id="item1" type="radio" name="list1"/>Item 1
<input id="item2" type="radio" name="list1"/>Item 2
<input id="item3" type="radio" name="list1"/>Item 3
<div>
<br/>
<div id="list2">
<input id="item1" type="radio" name="list2"/>Item 1
<input id="item2" type="radio" name="list2"/>Item 2
<input id="item3" type="radio" name="list2"/>Item 3
<div>
我还为它创建了一个应用程序,这样您就可以看到它的运行。您可以使用javascript来实现这一点。对不起,我对Jquery有点陌生。但是,这一行$(“input[name=list1]:radio”)是否适用于内容页中的控件?这取决于您如何构造html,此示例基于我创建的html,您必须修改它以使其适合您的html。
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));
<div id="list1">
<input id="item1" type="radio" name="list1"/>Item 1
<input id="item2" type="radio" name="list1"/>Item 2
<input id="item3" type="radio" name="list1"/>Item 3
<div>
<br/>
<div id="list2">
<input id="item1" type="radio" name="list2"/>Item 1
<input id="item2" type="radio" name="list2"/>Item 2
<input id="item3" type="radio" name="list2"/>Item 3
<div>
$("input[name=list1]:radio").bind("change", function(e) {
var chk = $("div#list2")
.children("input[id=" + $(this).attr("id") + "]");
chk.attr("checked", true);
});