我有一个简单的表单,其中包含一个在单击按钮时动态生成的多选框。
此处提供了表单的演示。
由于它是一个多选框,用户将能够从选择框中选择任意数量的值,并且应该将其保存到数据库中。所以,我将选择框声明为一个数组......就像这样。
<select name="select2[]" size="3" multiple="multiple">
<option value="11">eleven</option>
<option value="12">twelve</option>
<option value="13">thirette</option>
<option value="14">fourteen</option>
<option value="15">fifteen</option>
<option value="16">sixteen</option>
<option value="17">seventeen</option>
<option value="18">eighteen</option>
<option value="19">nineteen</option>
<option value="20">twenty</option>
</select>
但正如我之前所说的,多重选择框将根据用户的选择多次生成,所有输入的数据都应该保存。所以我使用 jquery 更改了选择框的名称。
选择框的名称类似于 select2[]1、select2[]2、select2[]3 等(无效;不是数组),但应该类似于 select21[]、select22[]、select23[ ] 等等,这是声明数组的有效方式。我无法使用 PHP 在服务器端获取数组,如下所示
if ($total_count>0)
{ //echo $total_count;
for($i=0;$i<=$total_count;$i++)
{
// generated as select2[]1,select2[]2,select2[]3 ,... which is not valid.
// thus invalid argument to foreach
if($this->input->post('select2[]'.$i)){
$data2=array(
'field1' =>$this->input->post('select2[]'.$i)
);
$this->db->insert('table1',$data2);
}
}
有什么解决方法吗?