我正在拼命尝试通过按我网站上的DELETE按钮来访问$ BarcodeID。我想要做的只是检索这个13位数字,以便我可以用它从项目数据库(Sql)中删除该行。
我知道只要我得到正确的行我就可以得到数据,但我想知道那是否可能,因为我在$ .post()中构建表。
请注意,在我开始尝试制作按钮并在点击功能中获取barcodeID之前,所有代码都正常工作。谢谢!
$(document).ready(function(){
$.get("../php/security.php", function(response){
if(response.result == "failure"){
location.href='../user_login.html';
} else {
$("#header").load("../header_logout.html");
$.post("../php/item_database.php", {email1:response.data.authUser}, function(indata){
indata.items.forEach(function(element){
$BarcodeID = element.BarcodeID;
$UserID = element.UserID;
$ProductName = element.ProductName;
$BrandName = element.BrandName;
$Weight = element.Weight;
$row = "<tr><td id='rowbarcode'>" + $BarcodeID + "</td>" + "<td>" + $ProductName + "</td>" + "<td>" + $BrandName + "</td>" + "<td>" + $Weight + "</td>" + "<td>" + "<button class='delete'>Delete</button>" + "</td></tr>";
$("#final_row").before($row);
});
}, "json");//eo post
} //eo else
}, "json"); //eo get
$(".delete").click(function(){
// var BarcodeID = $(this).closest('tr').find('#rowbarcode').val();
var BarcodeID = $(this).parent().find("#rowbarcode").text();
var $row = $(this).closest("tr"); // Finds the closest row <tr>
var $tds = $row.find("td:nth-child(1)"); // Finds the 2nd <td> element
console.log($tds);
//all I want is $BarcodeID
});
});//eof
答案 0 :(得分:0)
对于任何有兴趣的人,我找到了解决问题的相当简洁的方法。感谢所有帮助@Pointy @Taplar @Andreas的人。我需要的是'动态创建元素的事件绑定'。当与$ .post和$ .get操作链接时,它特别有用,因为它们使数据复制变得复杂。
输出到控制台的示例:
5000157024671 &lt; - 如果我点击了第一个删除按钮
6221033101517 &lt; - 如果我点击了第二个删除按钮
下一阶段: 由于这只是对条形码编号的引用,必须从DB中删除,我现在将通过后期操作将其传递给php。
我的项目的下一部分(添加行搜索功能)可以在这里找到: Dynamically created table queries
示例解决方案代码:
$(document).ready(function(){
$.get("../php/security.php", function(response){
if(response.result == "failure"){
location.href='../user_login.html';
} else {
$("#header").load("../header_logout.html");
//from here down is the relevant code
$.post("../php/item_database.php", {email1:response.data.authUser}, function(indata){
indata.items.forEach(function(element){
$BarcodeID = element.BarcodeID;
$UserID = element.UserID;
$ProductName = element.ProductName;
$BrandName = element.BrandName;
$Weight = element.Weight;
$row = "<tr class='row'><td class='rowbarcode'>" + $BarcodeID + "</td>" + "<td>" + $ProductName + "</td>" + "<td>" + $BrandName + "</td>" + "<td>" + $Weight + "</td>" + "<td>" + "<button class='delete'>Delete</button>" + "</td></tr>";
$("#final_row").before($row);
});
}, "json");//eo post
} //eo else
}, "json"); //eo get
$(".contenttable").on('click', '.delete', function(){
var BarcodeID = $(this).closest('tr').find('.rowbarcode').text();
console.log(BarcodeID);
});
}); // EOF