如何为使用Jquery分配值?

时间:2018-02-21 06:24:23

标签: php jquery laravel

我使用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中。

0 个答案:

没有答案