如何计算jquery中勾选的数字复选框?

时间:2013-06-18 10:20:34

标签: php javascript jquery

我有一个表,使用php while循环显示表中的名称列表,并且每个名称旁边都有一个复选框,以便用户可以选择2个名称在下一页并排显示。< / p>

我正在使用jquery表单验证器,如果选择多于或少于2个名称,我希望它显示一条消息,然后再转到下一页。验证适用于简单的事情,如直接字符串比较等,但我无法使用它,我怀疑这是因为我试图获取被检查的复选框的数量。

这是表格......

 <form method="post" onsubmit="return validation()" action="merge_accounts.php"
       name="merge_form" id="merge_form" >
   <table>
       <?php while ($row = mysqli_fetch_array($sql)){
                $account_id = $row['id']; ?>
            <tr>
                <td><input type="checkbox" id="merge[]" name="merge[]"  value="<? echo $row['id']; ?>" style="margin-left:10px" /></td>
                <td class="results_cell" style="padding-left:0px">
                    <a title="<? $row['name']; ?>" href="account_info.php?id=<? echo $account_id; ?>" onClick="this.document.id.submit();"><? 
                    if(strlen($row['name']) > 45){
                        echo substr($row['name'], 0, 45).'...'; 
                    } else {
                        echo $row['name'];
                    }?></a>
                </td>
            </tr>
            <tr>
                <td colspan="2" class="no_hover">
                  <input type="submit" class="advanced_buttons"
                   style="margin: 0px 5px 3px 10px; height:30px; width:60px" 
                   name="merge_submit" value="Merge" />
               </td>
           </tr>
      </table>
 </form>

jquery ......

<script>

    function validation()
    {
        var num = document.forms["merge_form"]["merge"].length;
            if(num != 2)
            {
                $.msgbox("Please select 2 items", {type:"info",
                    buttons: [
                        {type: "submit", value: "OK"}
                    ]
                });
                return false;
            }
    }

</script>

目前,无论勾选多少个复选框,表单都会忽略验证功能并提交

2 个答案:

答案 0 :(得分:7)

要查找已选中复选框的数量:

var checked = $('#merge_form input[type=checkbox]:checked').length;

参考文献:

答案 1 :(得分:3)

试一试:

$("#merge_form input:checked").length