javascript - 如何使用 onchange 事件将附加表行的值存储在数组变量中?

标签 javascript jquery arrays ajax

我有一个 ajax 函数,它从数据库获取值,然后将这些数据附加到表中。现在,在某些情况下,会从数据库中检索 2 个或更多记录,因此还会附加 2 个或更多表行。我的问题是,如果 2 或表格中是否附加了更多值?这是代码。谢谢您的帮助。

$.post("{{ url('create_po') }}", { 'prod_IDs': valArray }, function(data){
var obj = JSON.parse(data);
for(var i = 0; i < obj.prodval.length; i++){
    txt += "<tr class='info '><td><input type='number' class='form-control' style='width:100px;' value='0'/>"+
         "</td><td>"+obj.prodval[i].unit+
         "</td><td>"+obj.prodval[i].pharmaceutical+
         "</td><td>"+obj.prodval[i].packaging+
         "</td><td><input type='text' class='form-control' style='width:100px;' value='"+obj.prodval[i].price+"' disabled=disabled />"+
         "</td><td><input type='text' class='form-control' style='width:100px;' value='0' disabled=disabled />"+
         "</td></tr>";
}
 $("#tbl-po-list").append(txt);
});

表格

<table id="tbl-po-list">
<tbody id="po-create"></tbody>
</table>

绑定(bind)函数以获取 onchange 的值

$(function(){

var arrayVar = [];

            $('#tbl-po-list').on( 'change keyup' , 'input[type="number"]' ,function(){

            $(this).val();
            $(this).parents('.info').find('.price').val();
            $(this).parents('.info').find('.total').val());

            });

        }); 

我只是不知道如何迈出这里一步。在 onchange 事件期间如何保存数组变量“arrayVar”中的值?如果有 2 行怎么办?我该如何保存它?

附加行示例图像 enter image description here

enter image description here

最佳答案

只需将其存储在一个对象中:

var data = {
   qty: $(this).val(),
   price: $(this).parents('.info').find('.price').val(),
   total: $(this).parents('.info').find('.total').val()
}

然后当您检索它时(根据您的图像):

arrayVar[0].price // 45
arrayVar[1].price // 12

关于javascript - 如何使用 onchange 事件将附加表行的值存储在数组变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36006761/

相关文章:

JavaScript - 使用数组检查字符串

javascript - 数据键函数过滤器始终返回第一个元素

javascript - 为什么 js 脚本在 django 网站上不起作用?

jquery - 如何直接从浏览器使用外部 Sparql 请求的 json 输出?

javascript - jquery 可排序的值

java - 搜索数字在排序数组中出现次数的最有效方法

javascript - 在每个 span 元素上画圆圈

javascript - Lodash 在数组中通过 startswith 搜索

javascript - 根据对象的 ID 属性过滤对象数组

c - 指向同一变量的指针数组