我使用ajax append()从后端向mysql数据库中的表插入一个新行。
$(".item_ho").append("<tr class='item" + data.id + "'><td>" + data.id + "</td><td>" + data.product_name + "</td><td>" + data.product_code + "</td></td><td id='price_value'>" + data.price + "</td></td><td>" + data.product_desc + "</td><td>" + data.barcode_number + "</td><td>" + " <input type='number' name='total_qty_value' value='1' size='5' id='product_qty_value' data-id='" + data.id + "' data-barcode_number='" + data.barcode_number + "'> " + "</td><td>" + "<a id='remove_row' data-id='" + data.id + "' data-barcode_number='" + data.barcode_number + "'>x</a>" + "</td>" + "<td id='total_price'></td>" + "</tr>")
我可以访问每一行,我可以在初始阶段更改它的值。像这样:首先我从那个特定的表中找到<tr>
。然后,对于每个 我使用 eq( row_number )访问它们并为金额做一些补充和价格并将结果保存到变量 $ total_amount <td>
,然后将其分配到此行{ {1}}下面是代码这个代码:
$tds.eq(8).text($total_amount);
现在接下来,我尝试为var table = $("table tbody");
table.find('tr').each(function(i, el) {
var $total_amount
var $tds = $(this).find('td'),
amount = $tds.eq(3).text(),
price_html = $tds.eq(6).html(),
price = $(price_html).val();
total_amount_tab = $tds.eq(8).text();
$total_amount = parseInt(amount) * parseInt(price);
$tds.eq(8).text($total_amount);
});
分配一个包含不同值eq(8).text()
的其他变量。
但是我无法更新 $ tds.eq(8)。我尝试过这个以下似乎不起作用:
change_total
下一行代码无法正常工作(它不会更新eq(8).text())
$(document).on('change', '#product_qty_value', function() {
// document.getElementById('get_qty_value').value = document.getElementById('product_qty_value').value;
document.getElementById('get_qty_value').value = $(this).val();
$parent_html = $(this).parent().html();
$hey = $($parent_html).val();
$($hey).val($(this).val());
//calculating the price.
// getting the row data
parent_data = $(this).parent().parent().html();
product_price = $(parent_data).eq(3).text();
qty = $(this).val();
change_total = product_price * qty;
alert(change_total);
$main_test = $(parent_data).eq(8).text(change_total);
所以如果我使用这个 $main_test = $(parent_data).eq(8).text(change_total);
(,其中#total_price是eq(8)的id ),它只更新第一行,即使我改变了另一行输入框的值,因为我知道我正在使用&#39; id&#39;。我无法更新$(this).row!
知道为什么这不起作用
$('#total_price').text(change_total);
我想简单地做的是更新每行的值 输入并将值存储在同一行的#total_price中。