【问题标题】:jQuery validation code for all checkboxes on a form表单上所有复选框的 jQuery 验证代码
【发布时间】:2011-09-29 16:49:41
【问题描述】:

我有一个表单,它生成一个记录列表,旁边的每条记录都有一个复选框。

如果用户没有检查任何记录并点击提交,那么一个对话框应该警告他说“你没有检查任何记录”。如果他选择继续,那么他将被重定向到下一页,否则他将被困在同一页面上以选择其余记录。

我不太擅长 jQuery 和 javascript。任何帮助将不胜感激。

我正在寻找的逻辑是这样的

提交按钮

<script>
if(
 (input:checkbox).count = (input:checkbox).is(checked).count
 //proceed to the next page
else(
 dialogue("Message")
)
</script>

【问题讨论】:

    标签: jquery message validation checkbox


    【解决方案1】:

    首先,假设您的表单具有 id="myForm":

    $('#myForm').submit(function()
    {
        if($('#myForm input:checkbox:checked').length == 0)
        {
            //Tell the user he/she needs to check some boxes
            return false; // this stops the form from being submitted
        } 
    });
    

    编辑:记得把所有这些都放在里面

    $('document').ready(function(){
    
    });
    

    【讨论】:

    • 这可能有点矫枉过正,但要更加小心,您可能需要考虑仅选择您要提交的特定表单中的复选框。 ($('#myForm input:checkbox:checked').length == 0) 此外,如果您在表单中有复选框部分,您可能希望用它们自己的类装饰它们并使用它。 ($('#myForm .favouriteBooks input:checkbox:checked').length == 0)
    • 很好地抓住了只选择表单内的复选框。关于您的其他建议,这是一个很好的建议,但在问题范围内有点矫枉过正。
    • 同意,但我觉得值得一提:)
    • @Atheist 感谢您的意见,我可以从您的支持开始
    【解决方案2】:

    在 jQuery 中这将是:


    $(函数(){
    $('#submit').click(function(){
    if($('input:checkbox:checked').length > 0){
    // 下一个
    }其他{
    alert('选中一个框');
    }
    });
    });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多