php - PHP foreach 表单按顺序显示 3 组数组
问题描述
我有这个具有“添加字段”功能的表单。当触发/单击添加字段时,将添加一组新的 price[]、pax[] 和 days[],它将成为一个数组。
我的问题是,当我点击提交按钮时,是否有这样的结果?按此顺序显示它们?
price[0] - pax[0] - days[0]
price[1] - pax[1] - days[1]
price[2] - pax[2] - days[2]
我试过这个,但它只对 [0] 有效,对其余的 [1] 和 [2] 无效。PHP
foreach() {
// echo here [0]
foreach() {
// echo here [1]
foreach() {
// echo here [2]
}
}
}
下面是我的代码。
<div>
<form method="post">
<div class="" id="buildyourForm">
<input name="price[]" type="number">
<select name="pax[]">
<option value="2">2</value>
<option value="3">3</value>
<option value="4">4</value>
</select>
<select name="days[]">
<option value="2">2 days</option>
<option value="3">3 days</option>
<option value="4">4 days</option>
</select>
<input type="submit" name="submit">
<div>
<input type="button" id="add_field">
</div>
</div>
</form>
</div>
jQuery/Javascript
$(document).ready(function() {
$("#add_field").click(function() {
var lastField = $("#buildyourform div:last");
var intId = (lastField && lastField.length && lastField.data("idx") + 1) || 2;
var fieldWrapper = $("<div id=\"field"+ intId + "\"/>");
fieldWrapper.data("idx", intId);
var layer_1 = $("<label ">Package "+intId+" </label>");
var layer_2 = $("<input name=\"price[]\" type=\"number\" />");
var layer_3 = $("<select name=\"pax[]\"><option value=\"2\">2</value><option value=\"3\">3</value><option value=\"4\">4</value></select>");
var layer_4 = $("<select name=\"days[]\"><option value=\"2\">2 days</option><option value=\"3\">3 days</option><option value=\"4\">4 days</option></select>");
var layer_5 = $("<input name=\"hidden[]\" type=\"hidden\" value\="+intId+"\ />");
var removeButton = $("<input type=\"button\" value=\"X\" />");
removeButton.click(function() {
$(this).parent().remove();
});
fieldWrapper.append(layer_1);
fieldWrapper.append(layer_2);
fieldWrapper.append(layer_3);
fieldWrapper.append(layer_4);
fieldWrapper.append(layer_5);
fieldWrapper.append(removeButton);
$("#buildyourform").append(fieldWrapper);
});
});
解决方案
如果我的问题正确,您想打印如下值:
for($i=0; $i<count($_POST['price']); $i++){
$price = $_POST['price'][$i];
$pax = $_POST['pax'][$i];
$days = $_POST['days'][$i];
echo "$price $pax $days <br/>";
}
推荐阅读
- python - 如何从 qlineedit 获取所有文本
- python - 如何从文件名中提取特定字符串?
- javascript - ...属性在 react-native 功能组件中
- python - h2o 数值列被转换为枚举
- c# - 如何知道在 EF 中执行查询的位置
- firebase - Flutter Firestore 添加数据
- c++ - 结构中的位是否保证是连续的?
- amazon-web-services - Sendy '与 Amazon SNS API 通信时出错:执行此请求时出现问题'
- javascript - CORS 不工作(失败)net::ERR_FAILED)
- linux - 在 ubuntu 上查找文件