获取 td 值 returns 未定义
Getting td value returns undefined
我正在尝试访问上下文上方一行的 td 值。我可以使用 prev()
方法获取上面的行,还可以使用 children()
方法获取子项,但是当我将带有选择器的 find() 附加到该行时,我无法找到我正在寻找的特定单元格。
当我从 children()
记录 return 时,我看到了其中的所有 table 数据。
为什么我按id找不到?请参阅下面的代码。
$("#tblProducts tbody").on("click", "#btnSubmitUpdate", function (e) {
var btnSaveUpdate = $(this);
var tr = btnSaveUpdate.closest("tr");
var trAbove = $(tr.prev()[0]);
var desc = trAbove.children().find("#tdDescription").val();
//desc is returning undefined
console.log(desc);
});
我只需要直接在 trAbove 中使用 find() 而无需使用子项。这解决了我的问题
你可以这样使用:
$("#tblProducts tbody").on("click", "td", function() {
var tdAttr = $(this).attr('class')
alert($(this).closest('tr').find("td."+tdAttr).text())
/*
or $(this).text(), $(this).attr('class') or $(this).data('id')
*/
})
我写了一个示例代码:https://jsfiddle.net/nht9nvzy/
我正在尝试访问上下文上方一行的 td 值。我可以使用 prev()
方法获取上面的行,还可以使用 children()
方法获取子项,但是当我将带有选择器的 find() 附加到该行时,我无法找到我正在寻找的特定单元格。
当我从 children()
记录 return 时,我看到了其中的所有 table 数据。
为什么我按id找不到?请参阅下面的代码。
$("#tblProducts tbody").on("click", "#btnSubmitUpdate", function (e) {
var btnSaveUpdate = $(this);
var tr = btnSaveUpdate.closest("tr");
var trAbove = $(tr.prev()[0]);
var desc = trAbove.children().find("#tdDescription").val();
//desc is returning undefined
console.log(desc);
});
我只需要直接在 trAbove 中使用 find() 而无需使用子项。这解决了我的问题
你可以这样使用:
$("#tblProducts tbody").on("click", "td", function() {
var tdAttr = $(this).attr('class')
alert($(this).closest('tr').find("td."+tdAttr).text())
/*
or $(this).text(), $(this).attr('class') or $(this).data('id')
*/
})
我写了一个示例代码:https://jsfiddle.net/nht9nvzy/