单击 TextBox 后自动在 RadioButtonList 中添加 select 项
Automatically select item in RadioButtonList after clicking TextBox
所以我目前有一个页面,其中包含来自 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 的第一个列表项?这将更加用户友好,因为在继续之前忘记检查值是很常见的。
提前致谢。
您可以使用 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 中的第一个选项。
经过一天的研究,我自己找到了答案。
在 Page_Load 函数后面的代码中,我放置了这行代码:
TextBox1.Attributes.Add("OnClick", "document.getElementById('" + radioButtonList1.ClientID + "_0').checked=true;");
我很确定有更好的方法,但目前看来效果还不错。
所以我目前有一个页面,其中包含来自 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 的第一个列表项?这将更加用户友好,因为在继续之前忘记检查值是很常见的。
提前致谢。
您可以使用 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 中的第一个选项。
经过一天的研究,我自己找到了答案。 在 Page_Load 函数后面的代码中,我放置了这行代码:
TextBox1.Attributes.Add("OnClick", "document.getElementById('" + radioButtonList1.ClientID + "_0').checked=true;");
我很确定有更好的方法,但目前看来效果还不错。