我有一个javascript函数,可以创建一个表并插入一个带有insertCell(0);
在单元格内部是一个html表单输入,它调用我传递4个参数的另一个函数onKeyUp。最后一个参数是输入this.value
的值。此值始终作为未定义传递。有没有办法在用户更新数量时获得该值?
我无法使用ID选择器,因为每次将项目添加到购物车时都会创建tr。
我发布了整个功能,但这就是问题所在。
这不起作用......
cell1.innerHTML="<input type='text' onKeyUp='updateQty("+posItem.id+",\""+posItem.color+"\",\""+posItem.size+"\","+this.value+")' name='qty' value='"+posItem.qty+"' class='textfield'/>";
这是整个功能
function addToPosCart(posItem) {
posCart.push(posItem);
var table=document.getElementById("cart_table");
var tr = table.insertRow(-1);
tr.className = 'row';
tr.setAttribute('row_id',posItem.id);
tr.setAttribute('color',posItem.color);
var totalPrice = posItem.price * posItem.qty;
var cell1=tr.insertCell(0);
var cell2=tr.insertCell(1);
var cell3=tr.insertCell(2);
var cell4=tr.insertCell(3);
var cell5=tr.insertCell(4);
var cell6=tr.insertCell(5);
var cell7=tr.insertCell(6);
cell1.innerHTML="<input type='text' onKeyUp='updateQty("+posItem.id+",\""+posItem.color+"\",\""+posItem.size+"\","+this.value+")' name='qty' value='"+posItem.qty+"' style='width:30px' class='textfield input_qty'/>";
cell2.innerHTML="<span style='font-size:16px;font-weight:bold;'>"+posItem.name+"</span><br>"+posItem.color +" "+posItem.size;
cell3.innerHTML="$"+posItem.price.toFixed(2);
cell4.innerHTML="<input type='text' name='dis_dollars' value='"+posItem.disDollars+"' style='width:30px' class='textfield'/>";
cell5.innerHTML="<input type='text' name='dis_percent' value='"+posItem.disPercent+"' style='width:30px' class='textfield'/>";
cell6.innerHTML="$"+totalPrice.toFixed(2);
cell7.innerHTML="<a onclick='deleteItem(this.rowid)' style='height:22px;width:23px;padding:1px 0 0 0px;'class='button_black'>❌</a>";
updateTotals();
}
答案 0 :(得分:0)
应该是
cell1.innerHTML = "<input type='text' onKeyUp='updateQty(" + posItem.id + ",\"" + posItem.color + "\",\"" + posItem.size + "\",this.value)' name='qty' value='" + posItem.qty + "' style='width:30px' class='textfield input_qty'/>";
演示:Fiddle