所以我目前有一个页面,其中包含两个来自RadioButtonList的单选按钮,后跟两个TextBox:
<asp:RadioButtonList ID="radioButtonList1" runat="server">
<asp:ListItem Value="Option1">Option1</asp:ListItem>
<asp:ListItem Value="Option2">Option2</asp:ListItem>
</asp:RadioButtonList>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
有没有一种简单的方法可以让我在点击第一个TextBox后选择RadioButtonList的第一个列表项?这将更加用户友好,因为在继续之前忘记检查值是很常见的。
提前致谢。
答案 0 :(得分:0)
你可以用jQuery做到这一点。
您的HTML看起来像这样:
<input id="ctl00_ContentPlaceHolder1_radioButtonList1_0" type="radio" name="ctl00$ContentPlaceHolder1$radioButtonList1" value="Option1">
<label for="ctl00_ContentPlaceHolder1_radioButtonList1_0">Option1</label>
<input id="ctl00_ContentPlaceHolder1_radioButtonList1_1" type="radio" name="ctl00$ContentPlaceHolder1$radioButtonList1" value="Option2">
<label for="ctl00_ContentPlaceHolder1_radioButtonList1_1">Option2</label>
<input name="ctl00$ContentPlaceHolder1$TextBox1" type="text" id="ctl00_ContentPlaceHolder1_TextBox1">
<input name="ctl00$ContentPlaceHolder1$TextBox2" type="text" id="ctl00_ContentPlaceHolder1_TextBox2">
jQuery的:
$('#ctl00_ContentPlaceHolder1_TextBox1').focus(function() {
$('#ctl00_ContentPlaceHolder1_radioButtonList1_0').prop("checked", true);
});
https://jsfiddle.net/1dqzwtnh/
或者只需将Selected="True"
添加到您的aspx中的第一个选项。
答案 1 :(得分:0)
经过一天的研究,我自己找到了答案。 在Page_Load函数内部的代码中,我放了这行代码:
TextBox1.Attributes.Add("OnClick", "document.getElementById('" + radioButtonList1.ClientID + "_0').checked=true;");
我很确定有更好的方法,但现在看起来效果还不错。