从已检查的所有复选框中创建数组?

时间:2011-06-25 18:02:34

标签: php html forms

我有一个我想从数据库中提取的人员列表。在每个旁边,我有一个复选框,在这里:

<input type='checkbox' name='check' value='".$rows4['id']."'>

对于我来说,它们都必须是同一个名称才能检查所有这些/使用javascript取消所有这些名称:

// HTML
<input type='checkbox' onClick='checkAll(document.confirm_form.check)' name='allChecker'>

// JS
function checkAll(field) {
    if (confirm_form.allChecker.checked == true) {
        for (i = 0; i < field.length; i++) {
            field[i].checked = true ;
        }
    } else {
        for (i = 0; i < field.length; i++) {
            field[i].checked = false ;
        }
    }
}

那么我将如何推出所有被检查的数组呢?我有这个,但它只返回最后一个检查!

<?php 
if ($_POST['send_confirm']) {
    $check = $_POST['check'];
    echo "the check: $check";
}
?>

我最好的选择是什么?

感谢。

3 个答案:

答案 0 :(得分:6)

您可以在所有复选框上使用特殊语法name="check[]"。然后,当您使用$ _POST

检索它们时,值将显示为数组

这是我发现的一篇好文章,passing-input-arrays-in-php

答案 1 :(得分:0)

您可以尝试使用表单元素数组。

<input type='checkbox' name='check[]' value='".$rows4['id']."'>

答案 2 :(得分:0)

 $("#formid").find("input:checked").each(function()
 {  
   (this.id).attr('checked',true); 
 }); 

使用Jquery方法检查并取消选中复选框