【发布时间】:2018-11-22 00:56:40
【问题描述】:
/*On call - Add person fields dynamically*/
var i=1;
$("#add_row").click(function(){
$('#addr').append("<tr class='row_"+i+"'><td>Person ID:"+i+"</td><td><input name='Person["+i+"][Name]' type='text' placeholder='Name' class='form-control input-md' /> </td><td><input name='Person["+i+"][Email]' type='text' placeholder='Email' class='form-control input-md'></td><td><input name='Person["+i+"][Mobile]' type='text' placeholder='Mobile' class='form-control input-md'></td><td><button type='button' id='"+i+"' onclick='add_vehicle(this.id);'>Add Vehicle</button></td></tr>");
i++;
});
/*On call - Add hidden input value to section requesting to add vehicle license plate number and create plate field*/
var vehicle = 0;
function add_vehicle(id){
$('<td><input type="hidden" name="Person['+id+'][hasVehicle]" value="1"></td>').appendTo('.row_'+id);
var section = '<hr><div class"section_'+vehicle+'">Belongs To Person With ID: '+id+' <input type="text" name="Vehicle['+vehicle+'][PlateNumber]" placeholder="Plate Number" /></div><hr>';
$(section).appendTo(".vehicle");
vehicle++;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="server.php">
<table id="tab_logic">
<tbody>
<tr id='addr'></tr>
</tbody>
</table>
<div class="vehicle"></div>
<a id="add_row" class="btn btn-default pull-left">Add Person </a><hr>
<input type="submit" value="submit">
</form>
<?php
/* Posted array values*/
$people = $_POST['Person'];
$people_vehicle = $_POST['Vehicle'];
//check for each person
foreach ($people as $person) {
//check if person has a vehicle
if($person['hasVehicle'] == 1){
//Owner Name:
echo $person['Name'];
//get all the vehicle plate numbers specified for current person
foreach($people_vehicle as $person_vehicle) {
//output plate numbers
echo
'<pre>',print_r($person_vehicle['PlateNumber'],1),'</pre>';
}
}
}
我创建了这段代码,它允许“人”根据需要动态添加任意数量的“车牌号”。在后端(使用 PHP)我想捕捉这种关系。我编写了一些 PHP 代码,当只添加一个人并且以我想要完成的方式打印多个车牌号时,它实际上可以工作,但是当我添加多个人和多个车牌时,它输出的值加倍,不知道为什么。如果有人可以请帮助我将不胜感激。
再次:目标是 -> A. 动态添加多少人,车牌号,然后输出哪些车牌号属于谁。
结果:当添加多个人和车牌号码时。
亚当·乔 E1 P1 P2 美国能源部约翰 E1 P1 P2
结果:添加一个人和多个车牌号时。(即使生成多个人也是我想要的)。
亚当·乔 P1 P2 P3
【问题讨论】:
标签: javascript php jquery loops