您好我想从PHP帖子用PHP
创建这个数组输出这里是我的FORM,用javascript复制带有.duplicated类的DIV数据
<?php print_r($_POST); ?>
<form method='post'>
<input name='group_name'/>
<input name='group_'/>
<div class='duplicated'>
<input name='group_values[][name]'/>
<input name='group_values[][price]'/>
</div>
<div class='duplicated'>
<input name='group_values[][name]'/>
<input name='group_values[][price]'/>
</div>
</form>
此表单返回此数组
答案 0 :(得分:3)
这是因为像这样的空括号会让php / html创建一个新的&#34;键/值&#34;,让你的
<input name='group_values[][name]'/>
<input name='group_values[][price]'/>
分为:
<input name='group_values[1][name]'/>
<input name='group_values[1][price]'/>
你应该看到一个区别,如果你需要它自己发生,你可以使用一个变量,将它设置为0或你希望你的数组从哪个值开始,并在每次你需要时给它+1新的&#34;组&#34;像这样:
<?php $i = 0; //Initializes the variable ?>
<input name='group_values[<?php echo $i; ?>][name]'/> //Array key = 0
<input name='group_values[<?php echo $i; ?>][price]'/> //Array key = 0
<?php $i++; //Increases the variable with 1 ?>
<input name='group_values[<?php echo $i; ?>][name]'/> //Array key = 1
<input name='group_values[<?php echo $i; ?>][price]'/> //Array key = 1
当然,它可以以更有效/更智能的方式完成,但这只是为了给你一个基本的例子
对于Javascript,它将取决于您如何复制数据,但这个想法基本相同
var key = 0;
var duplicateInput1 = "<input name='group_values[" + key + "][name]'/>" +
"<input name='group_values[" + key + "][price]'/>";
key++;
var duplicateInput2 = "<input name='group_values[" + key + "][name]'/>" +
"<input name='group_values[" + key + "][price]'/>";
var duplicateForm = duplicateInput1.concat(duplicateInput2);