我正在设计销售发票表单。我可以从MySQL中提取数据以供选择。
当涉及到物品时,物品的数量是可变的。有时,它是3项,有时是20项。
如何根据用户的输入添加行和删除行,以获取所需的行数(所有这些行都将从MySQL中选择下拉列表)?
答案 0 :(得分:3)
这是你可以用PHP和&组合来做的事情。 Jquery& Ajax的。
<script>
$('select[name=items]').change(function () {
// If selected value is bigger than 0
if ($(this).val() > 0 ) {
$.post("get-items.php", {itemval: $(this).val()}, function(data) {
//$('#items').fadeIn('slow'); // Remove the beginning // to use this effect.
$('#items').html(data);
});
}
});
</script>
现在重要的是;
get-items.php必须在其中回显html(如果你愿意)。例如:
您希望列出包含某些html元素的数据;
<ul>
<li>First Item</li>
<li>Second Item</li>
<li>Third Item</li>
</ul>
你的get-items.php应该像这样输出(echo),以便在你的页面中使用它(想象它就像包含。无论你要回应什么,它都会包含所有html元素到你所在的页面想要用它。
一旦你的get-items.php将返回一些输出,代码将收集输出并将响应添加到具有项ID的元素。例如;
<div id="items"></div>
您可以在get-items.php;
中收集发布的值$itemValue = $_POST['itemval'];
一旦你可以用PHP收集关于项目价值的信息(显示,不显示,显示有限等等......这是你的决定),之后你决定向浏览器回应什么。
我希望我理解正确,希望这会有所帮助。
修改强>
在你的评论之后,关于根据用户选择收集更多信息(可能是1个或更多),所以我认为最简单的方法将是关注;
我们将Json与Jquery一起使用。
$.getJSON('get-product-info.php', function(data) {
// Create an array
var productSetup = [];
// Loop and assign Json (returned value) to our new setup array
$.each(data, function(key, val) {
productSetup[key] = val;
// Add values to html elements and other actions here.
});
});
我们在这里做的很简单。我们在Jquery&amp; amp;的帮助下从 get-product-info.php 收集了有关产品的信息。 JSON。我们创建了productSetup jquery数组,并从 get-product-info.php
分配了返回值当您从get-product-info.php收集数据时,为了让我们的生活更轻松,我们将使用Json将数据从PHP转换为Jquery。
get-product-info.php 重要信息
示例强>
<?php
#Assuming $data is your new results array
echo json_encode($data);
?>
我们使用Json轻松地将数据从一种语言传输到另一种语言。在我的回答中,我已经给你一个发送信息的代码。当用户做出更多选择时,只需将它们发送到您的php脚本,然后通过Json收集返回的结果,以改变页面中的html元素。
请查看PHP json_encode user manual和PHP json_decode user manual了解详情。
我希望这会有所帮助