单击TextBox

时间:2017-10-25 10:06:53

标签: asp.net radiobuttonlist

所以我目前有一个页面,其中包含两个来自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的第一个列表项?这将更加用户友好,因为在继续之前忘记检查值是很常见的。

提前致谢。

2 个答案:

答案 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;");

我很确定有更好的方法,但现在看起来效果还不错。