我正在为我的销售创建库存控制系统。我可以成功地序列化完整表格我有一个问题我在表格中有sell_price列,表格中没有零售价格列。如何将隐藏的零售价格发送到php页面。因为我需要在一天结束时计算利润销售。我通过ajex将所有记录发送到loading_add.php页面。到目前为止我尝试过的东西都写在下面。如何将retail_price隐藏字段发送到loading_add.php页面。
输入产品代码以获取产品价格。仅显示销售价格。零售应显示隐藏字段。
这是表单设计
<td>
<select class="form-control" id="product_id" name="product_id" required>
<option value="">Please Select</option>
</select>
</td>
<td>
<input type="hidden" class='retailprice' id="retail_price" name="retail_price" >
<input type="text" class="form-control sell_price" id="sell_price" name="sell_price" placeholder="price" disabled>
</td>
<td>
<input type="number" class="form-control sell_price" id="qty" name="qty" placeholder="qty" min="1" value="1" required>
</td>
<td>
<input type="text" class="form-control" placeholder="total_cost" id="total_cost" name="total_cost" disabled>
</td>
<td>
<button class="btn btn-success" type="button" onclick="addproduct()">Add
</button>
</td>
获取价格
function getPrice() {
$("#pro_price").empty();
$.ajax({
type: 'POST',
url: '../php/product/get_price.php',
dataType: 'JSON',
data: {product_id: $("#product_id").val() },
success: function(data) {
console.log(data);
$("#sell_price").val(data[0].sell_price);
current_stock =Number(data[0].qty);
$("#qty").focus();
retail_price =Number(data[0].retail_price);
pro_price =Number(data[0].sell_price);
},
error: function(xhr, status, error) {
}
});
}
获取产品名称和价格后,点击添加Putton产品并添加到表格中 在表格中添加产品
function addproduct() {
var product = {
cat_id: $("#cat_id option:selected").text(),
product_name: $("#product_id option:selected").text(),
product_id: $("#product_id").val(),
retail_price: $("#retail_price").val(),
pro_price: $("#pro_price").val(),
qty: $("#qty").val(),
total_cost: $("#total_cost").val(),
button: '<button type="button" class="btn btn-warning btn-xs")">delete</button>'
};
addRow(product);
$('#frmInvoice')[0].reset();
创建addRow函数将产品添加到列表中
function addRow(product) {
var $tableB = $('#product_list tbody');
var $row = $("<tr><td><Button type='button' name = 'record' class='btn btn-warning btn-xs' name='record' onclick='deleterow(this)' >Delete</td>" +
"<td>" + product.product_id + "</td>" +
"<td class=\"price\">" + product.cat_id + "</td>" +
"<td>" + product.product_name + "</td>" +
"<td><input type='hidden' class='retail_price' value="+ product.retail_price +">" + product.pro_price + "</td>" +
"<td>" + product.qty + "</td><td>"
+ product.total_cost +
"</td></tr>");
$row.data("cat_id", product.cat_id);
$row.data("product_id", product.product_id);
$row.data("product_name", product.product_name);
$row.data("price", product.price);
$row.data("retail_price", product.retail_price);
$row.data("qty", product.qty);
$row.data("total_cost", product.total_cost);
total += Number(product.total_cost);
$('#total').val(total);
console.log(product.total_cost);
$row.find('deleterow').click(function (event) {
deleteRow($(event.currentTarget).parent('tr'));
});
$tableB.append($row);
}
**
**var table_data = [];
$('#product_list tbody tr').each(function(row,tr)
{
var sub = {
'product_id' : $(tr).find('td:eq(1)').text(),
'cat_id' : $(tr).find('td:eq(2)').text(),
'product_name' : $(tr).find('td:eq(3)').text(),
'retail_price': $(tr).find('td:eq(5)').text(),
'sell_price' : $(tr).find('td:eq(4)').text(),
'qty' : $(tr).find('td:eq(5)').text(),
'total_cost' : $(tr).find('td:eq(6)').text(),
};
table_data.push(sub);
});**
**
将数据发送到loading_add.php页面
$.ajax({
type : "POST",
url: '../php/product/loading_add.php',
dataType: 'JSON',
data: {data:table_data},
loading_add.php
$relative_list = $_POST['data'];
$stm = $conn->prepare("INSERT INTO sales_product(sales_id,cat_id,product_id,retail_price,sell_price,qty,total,profit)
VALUES (?,?,?,?,?,?,?,?)");
$stm->bind_param("issiiiii",$last_id,$cat_id,$product_id,$retail_price,$price,$qty,$total_cost,$profit);
$cat_id= $relative_list[$x]['cat_id'];
$product_id= $relative_list[$x]['product_name'];
$retail_price= $relative_list[$x]['retail_price'];
$price= $relative_list[$x]['price'];
$qty= $relative_list[$x]['qty'];
$total_cost= $relative_list[$x]['total_cost'];
答案 0 :(得分:1)
您可以在表格行中嵌入如下零售价:
"<table>
<tr data-retail-price="'+product.retail_price+'"><td><Button type='button' name = 'record' class='btn btn-warning btn-xs' name='record' onclick='deleterow(this)' >Delete</td>" +
"<td>" + product.product_id + "</td><td class=\"price\">" + product.cat_id + "</td><td>" + product.product_name + "</td><td>" + product.sell_price+
"</td><td>" + product.qty + "</td><td>" + product.total_cost + "</td></tr>
</table>"
要获取零售价,您可以使用JQuery attrib函数:
var sub = {
'product_id' : $(tr).find('td:eq(1)').text(),
'cat_id' : $(tr).find('td:eq(2)').text(),
'product_name' : $(tr).find('td:eq(3)').text(),
retail_price : $(tr).attr("data-retail-price");
'sell_price' : $(tr).find('td:eq(4)').text(),
'qty' : $(tr).find('td:eq(5)').text(),
'total_cost' : $(tr).find('td:eq(6)').text(),
};