Javascript 返回多个值(多选)
我有一个动态表单,它可以复制自身以进行批量插入 示例:“我的表单”有多个选择项Javascript 返回多个值(多选),javascript,php,jquery,Javascript,Php,Jquery,我有一个动态表单,它可以复制自身以进行批量插入 示例:“我的表单”有多个选择项 <select name="type[]" multiple> <option>1</option> <option>2</option> <option>3</option> </select> 用这个。我不知道第一次选择的是什么,第二次选择的是什么 我该怎么做 ----编辑----- 当点击输入时,我通过jqy
<select name="type[]" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
用这个。我不知道第一次选择的是什么,第二次选择的是什么
我该怎么做
----编辑-----
当点击输入时,我通过jqyery复制表单
jQuery("body").on("click", '.duplicate', function(){
$(".newform"). append(jQuery(".form").html());
return false;
});
其中复制的按钮具有类(.duplicate)
div中的表单具有类(.form)
和have空div has类(.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>
问题是,我复制了包含所有内容的div,要更改密钥,它将被解除,我知道这不是不可能的,但如果有任何简单的方法来复制所有div,我尝试键入[][],但它会返回一些不期望的内容如果您复制并始终保持相同的名称,您将无法知道哪个值属于哪个选择。在你的问题中添加重复代码,我会看看能做些什么。你仍然必须这样做,但使用javascript添加选择,选择它们需要的方式。我修改了java脚本代码,使其适合这个答案,我将编辑我的问题
jQuery("body").on("click", '.duplicate', function(){
$key = $(".newform>div").length;
$(".newform"). append(jQuery(".form").html().replace(new RegExp('\\[\\]\\[\\]', 'g'),'['+$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)