我有一个动态表格,可以重复进行批量插入。

示例:我的表单有多个选择

<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)

10-06 15:46