我有一个动态表单,可以自行复制以进行批量插入。
示例:我的表单有多个选择
<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)
当我单击Button(.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']
答案 0 :(得分:1)
如果您需要它们具有相同的名称,您可以这样做:
<?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)