将动态输入索引到其他动态输入数组
Index dynamic input to others dynamic input array
我有一个表单,其中包含动态创建的输入,如下所示(简化):我可以使用"添加人员"按钮创建更多人。对于每个人,我可以添加更多的爱好。
JavaScript:
$(document).ready(function(){
$(".add_person").click(function(){
var new_fieldset = $(".person:first").clone();
$(".person:last").after(new_fieldset);
});
$(".add_hobby").click(function(){
var new_input = '<input type="text" name="hobby[]" />';
$("this").closest("fieldset").find("div_hobbies").append(new_input);
});
});
.php:
<fieldset class="person">
<input name="name[]" value="">
<div class="div_hobbies"></div>
<a class="add_hobby">ADD HOBBY</a>
</fieldset>
<a class="add_person">ADD PERSON</a>
我想用方法 POST 发布结果并检索一个数组,但我不知道如何与正确的人索引爱好(有些人可能有 0 个爱好):
我想要的例子:
John with hobbies "FISHING", "DIVING"
Carl with no hobbies
Eddy with hobby "SINGING"
Paul with hobbies "RUNNING", "DIVING", "CYCLING"
var_dump($_POST["名称"])
array(4) {
[0] => string "John",
[1] => string "Carl",
[2] => string "Eddy",
[3] => string "Paul)
}
但是使用 var_dump($_POST['hobby']),我得到一个这样的数组:
array(6) {
[0] => string "FISHING",
[1] => string "DIVING",
[2] => string "SINGING",
[3] => string "RUNNING",
[4] => string "DIVING",
[5] => string "CYCLING"
}
我怎样才能与正确的人索引爱好?
这可以通过在代码中添加更多的javascript来实现。解决方案是使您的爱好输入字段名称成为二维数组。
<input type="text" name="hobby[][]" />
提交表单时,请使用 javascript 逻辑循环访问元素,并将 hobby[][] 的第一个索引作为人名。例如,应用 JS 逻辑后,表单元素应该是,
<input type="text" name="hobby[jack][]" />
<input type="text" name="hobby[jack][]" />
<input type="text" name="hobby[rose][]" />
<input type="text" name="hobby[rose][]" />
现在提交表单,在PHP页面中,您将得到一个二维数组,其中第一级键是人名和他们的爱好。
相关文章:
- Highcharts:根据表单输入动态显示数据
- 如何根据两个不同的输入动态设置链接的路径
- 使用用户输入动态转换数据(Highcharts,JavaScript,Django)
- 基于文本输入动态更改图片
- 如何为jQuery帖子输入动态数据参数
- 根据用户表单输入动态生成 SQL 语句
- 使用单选按钮将文本输入动态添加到列表中
- 如何将外部输入动态注入 SlimerJS 脚本
- 根据用户输入动态设置高图表尾行选项
- 如何根据输入动态形成字符串
- 将用户输入动态地附加到<script src=“">来自Java Script中的文本框
- 使用其他输入动态添加和删除输入
- Rails根据用户输入动态更新View
- 在Powerpoint中根据用户输入动态更改幻灯片
- 使用用户输入动态创建表
- 从输入动态添加选项
- 根据用户输入动态创建HTTP链接
- 如何检测输入动态变化时的变化
- Angular2使用输入动态添加到表单模型中
- 禁用按钮和输入动态名称