嗨专家请看这段代码:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table border="1" cellpadding="8" cellspacing="0" width="700px" style="background-color: Aqua">
<tr>
<td style="direction: rtl">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
<td style="direction: ltr">
F1 </td>
</tr>
<tr>
<td style="direction: rtl">
<asp:DropDownList ID="Drp_1" runat="server" ClientIDMode="Static">
<asp:ListItem Value="1">Head of household</asp:ListItem>
<asp:ListItem Value="2">Spouse</asp:ListItem>
<asp:ListItem Value="3">Child</asp:ListItem>
</asp:DropDownList>
</td>
<td>
F2
</td>
</tr>
<tr>
<td style="direction: rtl">
<asp:RadioButtonList ID="Rad_7" runat="server" ClientIDMode="Static">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
<asp:ListItem Text="3" Value="3"></asp:ListItem>
<asp:ListItem Text="4" Value="4"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
F3
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btn" runat="server" Height="44px" Text="Submit" ClientIDMode="Static"
Width="207px" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<h1 style="color: Green">
Progress ...
</h1>
</ProgressTemplate>
</asp:UpdateProgress>
我使用这个jQuery代码:
<script type="text/javascript">
function pageLoad() {
$(document).ready(function () {
$("#Drp_1").on("change", function () {
if ($(this).val() != null && $(this).val() == 2) { //<<<<< This Line
if ($('#Rad_7 input').val() != null && $('#Rad_7 input').val() > 1 && $('#Rad_7 input').val() != 2) {
alert('Wrong option');
}
}
}).change();
});
}
</script>
问题是当我在指定的脚本行中使用断点时,当我使用立即窗口时,此代码$('#Rad_7 input').val()
它返回1
,尽管我没有在{{1}中选择任何选项}。我的错在哪里?
感谢
答案 0 :(得分:2)
$('#Rad_7 input').val()
都会获得第一个单选按钮value
。由于第一个单选按钮的值为1
,您看到的相同。
要获取选中的单选按钮值,请使用此功能。
$('#Rad_7 input:checked').val();
如果未检查组中的单选按钮,则会给出undefined
。