$(document).ready(function(){
var srno=1;
var srnoarray= new Array();
$(".addRow").click(function(){
var ToAppend='<tr><td><input type="text" class="form-control" style="width:40px;" name="srno_[]" id="id_srno_'+srno+'" value="'+srno+'" readonly="readonly" /></td>';
ToAppend+='<td>';
ToAppend+='<select class="form-control" name="product_name_'+srno+'" id="product_name_'+srno+'" onchange="return onSelectChangeajax(this.value,'+srno+')">';
ToAppend+='<option value="0">Select Product</option>';
ToAppend+='</select>';
ToAppend+='</td>';
ToAppend+='<td><input type="text" class="form-control" name="product_prise_'+srno+'" id="product_prise_'+srno+'" placeholder="Purchase Prise" onblur="calAmount('+srno+')" /></td><td><input type="text" class="form-control" name="product_qty_'+srno+'" id="product_qty_'+srno+'" value="1" placeholder="Quantity" onblur="calAmount('+srno+')"/></td><td><input type="text" class="form-control" name="product_amt_'+srno+'" id="product_amt_'+srno+'" placeholder="Amount" onblur="calAmount('+srno+')"/></td><td><img src="dist/img/removerow.png" onclick="deleteRow(this),deleteArrayVal.apply(this,'+srnoarray+');" /></td></tr>';
srnoarray.push(srno);
$("#purchaseItems").append(ToAppend);
console.log(srnoarray);
srno++;
});
});
function deleteRow(rwo)
{
var i=rwo.parentNode.parentNode.rowIndex;
document.getElementById("purchaseItems").deleteRow(i);
}
function deleteArrayVal(val)
{
console.log(val);
}
Выше функции добавляют динамическую строку и удаляют строку в таблице. Я создал массив с именем srnoarray, и я добавил srno в том массиве на каждый tr, добавляемый динамически. deleteRow - это функция удаления tr, , но когда я удаляю tr, я хочу удалить конкретный srno из srnoarray.Передача массива в качестве аргумента в javascript
<img src="dist/img/removerow.png" onclick="deleteRow(this),deleteArrayVal('+srnoarray+');" />
Я попытался прохождения массива в качестве аргумента в функции, но это не используется. как я должен это делать ??
см, когда я добавить строку, я добавить srno в массив, который является 1,2,3 ... и т.д. на консоли я получаю [1,2,3] это. это когда я добавляю строку, то, что мне нужно, предположим, я нажал на remove on 2nd tr, который является вторым srno. строка таблицы удаляется, но я также хочу удалить это из массива. вот почему я попытался передать массив как параметр функции и поп в этой функции, но это невозможно. –
Вы можете использовать: var idx = srnoarray.indexOf (i); и затем srnoarray.splice (idx, 1); Пожалуйста, дайте мне знать, если это сработает. i Это элемент, который вы хотите удалить из массива. –
var idx = srnoarray.indexOf (i); для использования этого я должен передать srnoarray для работы, тогда только я могу использовать этот путь. Проблема в том, что я не могу передать этот массив как параметр функции. –