我有一个带有单选按钮组和文本区域的 ASP .Net 页面。
我想切换犯罪描述文本区域,这样如果他们选择“是”,他们必须解释情况。否则,文本区域对其他人来说仍然是隐藏的。
两者都是运行服务器,因此 Web 表单母版页为两者创建生成的 ID。但是,我似乎无法获得单选按钮的值。
我在其他线程中尝试了几种解决方案,但它们一直没有奏效。
以下是我尝试过的几种 JQ 方法:
//.Net throws an error and says that ClientId is not a property of the radio group.
$('#<%= Crime.ClientId %>').bind('change', function () {
var checked = $(this).find('input:radio:checked');
if (checked.length == 0) {
alert("NO");
}
else {
alert("YES");
}
var myRadio = $(this);
var checkedValue = myRadio.filter(':checked').val();
var show = myRadio.val() == "Yes";
var showOrHide = (myRadio.val() == 1) ? true : false;
alert(show + " " + showOrHide + " " + checkedValue);
$('#<%= CrimeDescription.ClientID %>').toggle(showOrHide);
});
我还为 ASPX 控件应用了一个类,并尝试了对此的变体:
$('.CrimeToggle').click(function () {
//maybe traverse down to find the selected???
});
.Net ASPX
<asp:RadioButtonList RepeatDirection="Horizontal" CssClass="CrimeToggle" ID="Crime" runat="server">
<asp:ListItem Value="Yes">Yes</asp:ListItem>
<asp:ListItem Value="No">No</asp:ListItem>
</asp:RadioButtonList>
<textarea runat="server" id="CrimeDescription"></textarea>
我需要选择选定的单选按钮并获取其值。
我必须使用 RadioButtonList 控件而不是输入(因为后端也在对控件执行其他操作)。
这是 .Net 生成的输出 html:
<table id="ctl00_BodyHolder_Crime" class="CrimeToggle" border="0">
<tbody>
<tr>
<td>
<input id="ctl00_BodyHolder_Crime_0" type="radio" value="Yes" name="ctl00$BodyHolder$Crime">
<label for="ctl00_BodyHolder_Crime_0">Yes</label>
</td>
<td>
<input id="ctl00_BodyHolder_Crime_1" type="radio" value="No" name="ctl00$BodyHolder$Crime">
<label for="ctl00_BodyHolder_Crime_1">No</label>
</td>
</tr>
</tbody>
</table>