我有一个 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 行怎么办?我该如何保存它?
最佳答案
只需将其存储在一个对象中:
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/