我有一个动态表格,可以重复进行批量插入。
示例:我的表单有多个选择
<select name="type[]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
当我像这样复制它时
<select name="type[]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select name="type[]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
并例如选择两个中的所有选项,则返回类似
Array
(
[0] => 1
[1] => 2
[2] => 3
[4] => 1
[5] => 2
[6] => 3
)
有了这个 。我不知道在第一次选择中选择了什么,在第二次选择中选择了什么
我怎样才能做到这一点
----编辑-----
单击输入时,我通过jqyery将表格复制
jQuery("body").on("click", '.duplicate', function(){
$(".newform"). append(jQuery(".form").html());
return false;
});
重复按钮的类别为(.duplicate)
并且div中的表单具有类(.form)
并具有空的div具有类(.newform)
当我单击按钮(.duplicate)时,它将(.form)复制为(.newform)
-----编辑------
我修改了JavaScript以适合接受的答案
jQuery("body").on("click", '.duplicate', function(){
$key = $(".newform>div").length;
$(".newform"). append(jQuery(".form").html().replace(new RegExp('\\[\\]\\[\\]', 'g'),'['+$key+'][]'));
});
我只是算了(.newform)中的div使其成为关键
然后将每个[] []替换为[] ['key']
最佳答案
如果需要它们具有相同的名称,则始终可以执行以下操作:
<?php
if (isset($_POST['type']))
var_dump($_POST['type']);
?>
<form method="POST">
<select name="type[1][]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select name="type[2][]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="submit" value="Send"/>
</form>
它们将成为服务器端的多维数组。
所有选定选项的结果:
array (size=2)
1 =>
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
2 =>
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)