2015-02-06 50 views
1

我提交页面包括一些复选框:如何将传入复选框值转换为一个隐藏字段值?

<input type="checkbox" name="p_queue_type[]" id="p_queue_type_all" value="All"> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_CR" value="CR" checked> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_FPU" value="FPU"> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_HOLD" value="HOLD" checked> 

我的处理页面需要将任何进入的“p_queue_type []”的值转换成一个隐藏字段(该实施例中期望的结果假定“CR”和“保持”是选中):

<input type="hidden" name="p_queue_type[]" value="['CR','HOLD']" /> 

我试图将这一功能整合到现有的循环,在进入$_POST阵列迭代:

foreach ($attributes as $field => $value){ 
     echo('<input type="hidden" name="'.$field.'" id="'.$field.'" value="'.$value.'" />'); 
    }; 

但是这会导致一个无用的隐藏字段值:

<input type="hidden" name="p_queue_type[]" value="Array" /> 
+0

试试这个''<输入type =“checkbox”name =“p_queue_type [all]”id =“p_queue_type_all”value =“All”> '' – mend3 2015-02-06 22:57:04

回答

2

这应该工作:

foreach ($attributes as $field => $value){ 
    $value = is_array($value) ? '[' . implode(',', $value) . ']' : $value; 
    echo('<input type="hidden" name="'.$field.'" id="'.$field.'" value="'.$value.'" />'); 
}; 

它的PHP数组转换为HTML友好阵列串

+0

这正是我所要求的。谢谢乔纳森。 – 2015-02-06 23:07:51

+1

我很高兴它有帮助! – 2015-02-06 23:08:12

相关问题