【发布时间】:2019-09-13 16:22:22
【问题描述】:
我正在表单中设置动态行。需要从选择下拉列表中获取产品的价格。
产品下拉列表中已经填充了数据库中的值。
<?php
function fill_unit_select_box($con){
$output ='';
$query = "SELECT * FROM pricelist";
$result = $con->query($query);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$output .= '<option value="'.$row["product"].'">'.$row["product"].'</option>';
}
return $output;
}
}
?>
<div class="form-body pal">
<div class="row">
<div class="col-md-12 col-md-offset-10">
<div class="form-group">
<button type="button" class="btn btn-info add-new-product_record_details"><i class="fa fa-plus"></i> Add Product</button>
</div>
</div>
</div>
</div>
<div class="form-body pal">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover add_row" id="product_record_details">
<thead>
<tr>
<th class="success text-center">Product<span class='require'>*</span></th>
<th class="success text-center">Price<span class='require'>*</span></th>
<th class="success text-center">Delete</th>
</tr>
</thead>
<tbody>
<tr></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="form-body pal">
<div class="col-md-10 col-md-offset-10">
<div class="form-group">
<input type="hidden" id="main_product_name"/>
<input type="hidden" id="main_row_product_count"/>
<input type="hidden" name="submit_product_creation" class="btn btn-primary">
<button type="submit" name="product_creation" id="product_creation" class="btn btn-primary"><i class="fa fa-arrow-right"></i> Save</button>
</div>
</div>
</div>
<script>
$(document).ready(function() {
// Append table with add row form on add new button click
$(".add-new-product_record_details").click(function(){
//$(this).attr("disabled", "disabled");
var index = $("#product_record_details tbody tr:last-child").index();
// Random value has generated to set the unique id value of the table
var randaom_val = Math.floor(Math.random() * 100000000)
var row_index = index+randaom_val;
var row = '<tr>' +
'<td><select name="product_id[]" id="product_id'+row_index+'" onchange="fetch_product_price(this.id,'+row_index+')" class="select_format form-control"><option value="">Select</option><?php echo fill_unit_select_box($con); ?></select></td>'+
'<td><input type="number" name="alead_price[]" id="alead_price'+row_index+'" placeholder="Price" class="form-control"/></td>' +
'<td><input type="number" name="aquantity[]" id="aquantity'+row_index+'" placeholder="Price" class="form-control"/></td>' +
'<td><button type="button" class="delete btn btn-danger">Delete</button></td>' +
'</tr>';
$("#product_record_details").append(row);
$(".select_format").select2({
width: 'resolve'
});
// $("#main_spare_record_details tbody tr").eq(index + 1).find(".add, .edit").toggle();
$("#product_record_details tbody tr").eq(index + 1).find("").toggle();
});
// Delete row on delete button click
$(document).on("click", ".delete", function() {
$(this).parents("tr").remove();
//$(".add-new").removeAttr("disabled");
});
});
</script>
<script>
function fetch_product_price(product_id,row_count) {
var test = $('.select_format').val();
// alert(test);
$('#main_product_name').val($('#'+spare_id).val());
$('#main_row_product_count').val(row_count);
}
</script>
我需要什么
所以在更改产品时,它应该从数据库中获取产品的价格。
自动将价格与输入数量相乘 例如:产品的取价是“2000”,我们输入的数量值是“2”,所以输出应该显示为“4000”,这个值要输入到价格栏中
谢谢
【问题讨论】:
-
您必须使用ajax从数据库中检索数据,stackoverflow.com/questions/16707648/…
-
您面临的问题是什么?
-
@Casper 你能不能通过改变我的代码给我一个例子。
-
@Accountantم 我需要先获取所选产品的价格。我不知道如何进一步进行。谢谢
-
@Arun 您可以在您的产品
<select>中填写每个产品的价格,例如data-price属性,而不是获取价格,然后客户端上的每个产品都会附带它的价格,我认为这比对您选择的每个产品都提出要求要好。
标签: javascript php jquery mysql