我想使用 jQuery 验证 RadioButtonList
以确保用户已检查其中一个值。如果用户未选中任何单选按钮,则会出现警告。然而,问题是,即使用户选中了其中一个单选按钮,警报仍然会提示。根据我在网上找到的内容,我的以下 jQuery 代码似乎是正确的。
这是我的RadioButtonList
:
<asp:RadioButtonList ID="rbClass" runat="server" CssClass="rbClass">
<asp:ListItem Text="Asset Management Tool" Value="Asset Management Tool"></asp:ListItem>
<asp:ListItem Text="Backup Tool" Value="Backup Tool"></asp:ListItem>
<asp:ListItem Text="Communication Tool" Value="Communication Tool"></asp:ListItem>
<asp:ListItem Text="Developer Tool" Value="Developer Tool"></asp:ListItem>
</asp:RadioButtonList>
这是我的 jQuery:
if ($('#rbClass').is(':checked') == false) {
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
alert("Please select the software's classification.");
}
如您所见,我尝试了几种不同的方法来检查 RadioButtonList
是否已被检查。我还尝试使用 CssClass
属性 (.rbClass
) 进行验证,但它也无法按预期工作。我错过了什么吗?
最佳答案
您无法直接通过 javascript 访问 ASP 控件,因为这些控件将呈现为 HTML,因此其 Id 将被更改并且将与父级相关。因此,您在这里可以做的是,使用其客户端 ID,如下所示:
var selectedCount=$("#<%=rbClass.ClientID %> input:checked").length;
if(selectedCount==0)
{
// Statements here nothing is checked
}
关于javascript - jQuery 无法正确验证 RadioButtonList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38066144/