У меня есть функция javascript, которая создает таблицу и вставляет ячейку с insertCell(0);
Внутри ячейки находится вход в форму html, который вызывает другую функцию onKeyUp, через которую я передаю 4 параметра. Последним параметром является значение ввода this.value
. Это значение всегда передается как неопределенное. Есть ли способ получить это значение, когда пользователь обновляет количество?
Я не могу использовать селектор идентификаторов, поскольку 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();
}
должен быть
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'/>";
Демо: скрипка