I'm setting up a dynamic row in a form. Need to fetch the price of the product from selecting dropdown list.
Product dropdown is already populated with values from database.
<?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>
What i Need
So onchange the product, it should fetch the price of the product from database.
Auto multiply the price with entering the number of Quantity For ex: The fetched price of the product is "2000" and we are entering the quantity value as "2" so the output should be display as "4000", This value to be entered in price column
Thanks