link 的工作不正确
work of link is not proper
我通过编辑和删除在数据表中添加多行link.Suppose我删除第 3 行,然后编辑第 5 行,编辑 link 调用的函数,该函数写在 onclick 事件上的删除 link。
在这里,我在我的代码中添加添加、编辑和删除功能。
function addproduct() {
if (document.getElementById("p_barcode").value == "" || wrongdata == false) {
alert("Please Enter valid value of Barcode..!!!");
return false;
} else {
var barcode = document.getElementById("p_barcode").value;
var quantity = document.getElementById("p_qnty").value;
var grossamount = document.getElementById("p_grossamount").value;
var basetax = document.getElementById("p_basetax").value;
var additionaltax = document.getElementById("p_additionaltax").value;
var discount = document.getElementById("p_discount").value;
var netamount = document.getElementById("p_netamount").value;
var paidamount = document.getElementById("p_paidamount").value;
var data = barcode + "," + quantity + "," + grossamount + "," + basetax + "," + additionaltax + "," + discount + "," + netamount + "," + paidamount;
alert(data);
var productdata = data.split(',');
var table = $('#addpurchase').DataTable();
table.row.add(
[
productdata[0],
productdata[1],
productdata[2],
productdata[3],
productdata[4],
productdata[5],
productdata[6],
productdata[7],
productdata[8] = "<a href='#' onclick='return rowedit();'> Edit </a> / <a href='#' onclick='return rowdelete();'> Delete </a>"])
.draw();
document.getElementById("p_barcode").value = "";
document.getElementById("p_qnty").value = "1";
document.getElementById("p_grossamount").value = "";
document.getElementById("p_basetax").value = "";
document.getElementById("p_additionaltax").value = "";
document.getElementById("p_discount").value = "";
document.getElementById("p_netamount").value = "";
document.getElementById("p_paidamount").value = "";
return false;
}
}
function rowdelete() {
var table = $('#addpurchase').DataTable();
$('#addpurchase tbody').on('click', 'a', function () {
var tr = $(this).closest("tr");
var rowindex = tr.index();
//alert(rowindex);
table.row(rowindex).remove().draw(false);
});
return false;
}
function rowedit() {
var table = $('#addpurchase').DataTable();
$('#addpurchase tbody').on('click', 'a', function () {
var tr = $(this).closest("tr");
var rowindex = tr.index();
alert(rowindex);
var fetchdata = table.row(rowindex).data();
alert(table.row(rowindex).data());
document.getElementById("p_barcode").value = fetchdata[0];
document.getElementById("p_qnty").value = fetchdata[1];
document.getElementById("p_grossamount").value = fetchdata[2];
document.getElementById("p_basetax").value = fetchdata[3];
document.getElementById("p_additionaltax").value = fetchdata[4];
document.getElementById("p_discount").value = fetchdata[5];
document.getElementById("p_netamount").value = fetchdata[6];
document.getElementById("p_paidamount").value = fetchdata[7];
table.row(rowindex).remove().draw(false);
});
return false;
}
您正在调用不同的函数,但具有相同的事件侦听器。您需要将代码更改为此并尝试:
用下面的代码替换函数rowedit()
和rowdelete()
:
$(document).ready(function(){
$('#addpurchase tbody').on('click', 'a', function() {
var action = $(this).data('action'); //Or you can use var action = $(this).attr('data-action');
var tr = $(this).closest("tr");
var rowindex = tr.index();
if(action == 'edit'){
//YOUR EDIT CODE
}else{
//YOUR DELETE CODE
}
});
});
并在 addproduct()
函数中更改以下行:
productdata[8] = "<a href='#' data-action='edit'> Edit </a> / <a href='#' data-action='delete'> Delete </a>" ])
我通过编辑和删除在数据表中添加多行link.Suppose我删除第 3 行,然后编辑第 5 行,编辑 link 调用的函数,该函数写在 onclick 事件上的删除 link。 在这里,我在我的代码中添加添加、编辑和删除功能。
function addproduct() {
if (document.getElementById("p_barcode").value == "" || wrongdata == false) {
alert("Please Enter valid value of Barcode..!!!");
return false;
} else {
var barcode = document.getElementById("p_barcode").value;
var quantity = document.getElementById("p_qnty").value;
var grossamount = document.getElementById("p_grossamount").value;
var basetax = document.getElementById("p_basetax").value;
var additionaltax = document.getElementById("p_additionaltax").value;
var discount = document.getElementById("p_discount").value;
var netamount = document.getElementById("p_netamount").value;
var paidamount = document.getElementById("p_paidamount").value;
var data = barcode + "," + quantity + "," + grossamount + "," + basetax + "," + additionaltax + "," + discount + "," + netamount + "," + paidamount;
alert(data);
var productdata = data.split(',');
var table = $('#addpurchase').DataTable();
table.row.add(
[
productdata[0],
productdata[1],
productdata[2],
productdata[3],
productdata[4],
productdata[5],
productdata[6],
productdata[7],
productdata[8] = "<a href='#' onclick='return rowedit();'> Edit </a> / <a href='#' onclick='return rowdelete();'> Delete </a>"])
.draw();
document.getElementById("p_barcode").value = "";
document.getElementById("p_qnty").value = "1";
document.getElementById("p_grossamount").value = "";
document.getElementById("p_basetax").value = "";
document.getElementById("p_additionaltax").value = "";
document.getElementById("p_discount").value = "";
document.getElementById("p_netamount").value = "";
document.getElementById("p_paidamount").value = "";
return false;
}
}
function rowdelete() {
var table = $('#addpurchase').DataTable();
$('#addpurchase tbody').on('click', 'a', function () {
var tr = $(this).closest("tr");
var rowindex = tr.index();
//alert(rowindex);
table.row(rowindex).remove().draw(false);
});
return false;
}
function rowedit() {
var table = $('#addpurchase').DataTable();
$('#addpurchase tbody').on('click', 'a', function () {
var tr = $(this).closest("tr");
var rowindex = tr.index();
alert(rowindex);
var fetchdata = table.row(rowindex).data();
alert(table.row(rowindex).data());
document.getElementById("p_barcode").value = fetchdata[0];
document.getElementById("p_qnty").value = fetchdata[1];
document.getElementById("p_grossamount").value = fetchdata[2];
document.getElementById("p_basetax").value = fetchdata[3];
document.getElementById("p_additionaltax").value = fetchdata[4];
document.getElementById("p_discount").value = fetchdata[5];
document.getElementById("p_netamount").value = fetchdata[6];
document.getElementById("p_paidamount").value = fetchdata[7];
table.row(rowindex).remove().draw(false);
});
return false;
}
您正在调用不同的函数,但具有相同的事件侦听器。您需要将代码更改为此并尝试:
用下面的代码替换函数rowedit()
和rowdelete()
:
$(document).ready(function(){
$('#addpurchase tbody').on('click', 'a', function() {
var action = $(this).data('action'); //Or you can use var action = $(this).attr('data-action');
var tr = $(this).closest("tr");
var rowindex = tr.index();
if(action == 'edit'){
//YOUR EDIT CODE
}else{
//YOUR DELETE CODE
}
});
});
并在 addproduct()
函数中更改以下行:
productdata[8] = "<a href='#' data-action='edit'> Edit </a> / <a href='#' data-action='delete'> Delete </a>" ])