javascript - jQuery 无法正确验证 RadioButtonList?

标签 javascript jquery asp.net validation

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

相关文章:

javascript - 无法比较 Immutable-js 对象

javascript - 如何将注意力集中在切换按钮上?

asp.net - 未触发 PreRender 事件

asp.net - __PostBack 带有咆哮消息

asp.net - 如何使 Controller 接受来自正文的发布数据以及 MVC 6 ASP.NET 5 中的 URL

javascript - Node.JS onoff 未正确拾取 GPIO

javascript - Wordpress 音频播放器和 SmoothState。在回调中调用什么以在新页面上重新加载播放器?

javascript - 当我从 Highcharts 动态获取数据时,Highcharts 给出了额外的图例

jquery - 如何重播整个音频

javascript - 淡入淡出加载CSS3动画的最佳方法