我想使用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
}