【发布时间】:2015-04-12 17:01:18
【问题描述】:
如果用户选择了一个复选框,相关值会被 jQuery 存储在一个隐藏的输入字段中,并在表单提交后传递给 PHP 页面。如果用户选择多个复选框,则相关值将作为数组添加到隐藏的输入字段中。但是在提交表单后,我发现输入字段的数组不是数组,我无法从输入字段中获取数组。
页面的HTML:
<input type="hidden" name="selected" id="selected" value="" />
<input type="checkbox" name="check_list[]" class="check_list" value="'.$row['id'].'" />
<input type="checkbox" name="check_list[]" class="check_list" value="'.$row['id'].'" />
<input type="checkbox" name="check_list[]" class="check_list" value="'.$row['id'].'" />
选中任何复选框时添加 ID 的 jQuery 代码:
$(document).ready(function(){
var ids = [];
$(".check_list").change(function(){ // <-----correct here
code = $(this).val();
ids.push(code);
$("#selected").val(ids);
});
});
PHP 处理表单
foreach($_POST['selected'] as $key=>$value){
foreach($value as $keygen){
echo $keygen.'<br />';
}
}
但我无法通过上面的方式获得选中的复选框值。如果我像下面这样更改 PHP 的处理部分,并且如果用户选择了所有三个复选框,那么:
echo $_POST['selected'];
显示为23,56,57。 (我想这些是选中复选框的值。)
如何以这种方式实现上述内容,以便我可以将所选值作为输入字段的数组传递并相应地获取它们。我想要这样的东西:
$_POST['selected'] = array(23,56,57)
这样我就可以像这样得到特定的数组元素:
$_POST['selected'][1] = 56;
【问题讨论】: