复选框的顺序顺序选择PHP

时间:2014-07-09 17:56:18

标签: php html forms checkbox

目前,我的HTML代码是:

<form id = "query" method = "post" action = "search.php">
     <input type = "checkbox" name = "col_list[]" value = "host">host</input>
     <input type = "checkbox" name = "col_list[]" value = "atom_name>atom_name</input>
     …
     <input type = "submit">Submit</input>
</form>

我的php代码:

 $columns = $_POST["col_list"];

有什么办法可以让我检查复选框的顺序?

2 个答案:

答案 0 :(得分:1)

你需要添加一些javascript来获取该信息。

<input type="hidden" name="order"/> <!-- goes inside the form -->

这是一个使用jQuery的例子:

$('[name*="col_list"]').change(function(){
   if ($(this).prop('checked')){
       $('[name="order"]').val($('[name="order"]').val()+','+$(this).val())
    }
});

这应该可以很好地解决一个问题:

如果用户取消选中,则重新选中一个复选框,它将被添加到订单中两次。

订单应该会产生类似的结果:

,host,atom_name

修改

修正了一些拼写错误,这是 fiddle

答案 1 :(得分:0)

如果订单很重要,您必须实施某种形式的JavaScript或AJAX,并在选中复选框时调用它。表单不跟踪填写字段的顺序。 JavaScript非常适合这种情况,因为它可以在点击时触发。

AJAX的替代方案可能是添加隐藏的字段元素并使用JS来存储单击的订单。然后在单击表单时传递它。