Javascript 如何获取动态表行值

Javascript 如何获取动态表行值,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML表,它的行是在页面加载时创建的,在行的末尾有一个交叉按钮,所以我想做的是,当我单击该按钮时,我想在当前行中有值,我有ItemName,I code,Price更多,所以我希望在单击该按钮时有一些字段值,我的所有单元格仅以输入字段的形式显示 我在做什么 函数行附加(tbody){ 常量标记= ` ` $(tbody).附加(标记); } 行附加($('tbody','#tableInvoice'); $(文档)。在(“单击“,”上。删除btn”,函数(e){ 美元。确认({ 标题

我有一个HTML表,它的行是在页面加载时创建的,在行的末尾有一个交叉按钮,所以我想做的是,当我单击该按钮时,我想在当前行中有值,我有
ItemName
I code
Price
更多,所以我希望在单击该按钮时有一些字段值,我的所有单元格仅以输入字段的形式显示

我在做什么

函数行附加(tbody){
常量标记=
`
`
$(tbody).附加(标记);
}
行附加($('tbody','#tableInvoice');
$(文档)。在(“单击“,”上。删除btn”,函数(e){
美元。确认({
标题:“”,
内容:“是否要清除?”,
按钮:{
是:()=>{
键:[“输入”、“空格”]
行动:功能(){
var tr=$(this.nexist('tr');
var td=tr.find(“td”).eq(4);
var输入=td.find('input');
警报(input.val())
tr.remove();
},
},
否:函数(){
},
}
})
})$(文档).按键(功能(事件){
常量行=event.target.parentElement.parentElement
var keycode=event.keycode | | event.which;
如果(键代码=='13'){
if(event.target.matches('[name=discPercentagetd]')){
if($(行).parent().find('tr').length-$(行).index()==1){
rowappend(event.target.parentElement.parentElement.parentElement)
}
}
}
});

项目名称
I代码
物料需求计划
价格
单位数量
光盘%
盘式自动变速器
商品及服务税%
消费税金额
总金额

您可以对“.remove btn”使用onclick事件

   /* Adding onclick event  */
<i class="fas fa-times fa-2x remove-btn" onclick="fnRemoveRow(this);"></i>

 /*Javascript code */
 function fnRemoveRow(_this)
 {
     var $tr=$(_this).closest('tr');
     var itemName = $tr.find("#itemNametd").val();  
     /* Get other values */
      $tr.remove();
  }
/*添加onclick事件*/
/*Javascript代码*/
函数fnRemoveRow(_this)
{
var$tr=$(_this).closest('tr');
var itemName=$tr.find(#itemNametd”).val();
/*获取其他值*/
$tr.remove();
}
$(此)
在您的单击功能中,请参考
以便
$(此)。查找('td')
将不返回任何内容。您需要使用
$(this).closest('tr')
首先获取行

函数行附加(tbody){
常量标记=
`
`
$(tbody).附加(标记);
}
行附加($('tbody','#tableInvoice');
$(文档)。在(“单击“,”上。删除btn”,函数(e){
美元。确认({
标题:“”,
内容:“是否要清除?”,
按钮:{
是的:{
键:[“输入”、“空格”],
行动:()=>{
var tr=$(this.nexist('tr');
var td=tr.find(“td”).eq(4);
var输入=td.find('input');
警报(input.val())
tr.remove();
}
},
否:函数(){
},
}
})
})
$(文档).按键(功能(事件){
常量行=event.target.parentElement.parentElement
var keycode=event.keycode | | event.which;
如果(键代码=='13'){
if(event.target.matches('[name=discPercentagetd]')){
if($(行).parent().find('tr').length-$(行).index()==1){
rowappend(event.target.parentElement.parentElement.parentElement)
}
}
}
});

项目名称
I代码
物料需求计划
价格
单位数量
光盘%
盘式自动变速器
商品及服务税%
消费税金额
总金额

首先,找出交叉按钮的父项,然后找出值

如果要创建多行,请确保不要使用id,并且不要使用id进行访问,因为它应该是唯一的,并且我假设此列表中会有更多的行

$('.remove-btn').click(function(e) {
/* First find out parent of X button then inside that find input element and then value.
I have added here the name while finding the perticular value you can use the id as well but it will not work  if more then 1 row.
*/
alert($(this).parent().parent().find('input[name="itemNametd"]').val())
$(this).closest('tr').remove();})}

嘿,你能帮帮我吗我对这个问题有点怀疑是的。你有什么问题?嘿,我已经编辑了我的帖子。我正在做的是,当我点击交叉按钮时,我正在尝试作为用户删除他/她是否想要删除,因为我使用的是
jquery confer.min.js
,但在使用之后,这些值显示为未定义。编辑我的答案以解决你的问题。当您使用
Yes:function(){
时,此函数中的
this
不再是按钮。您应该使用箭头函数,而不是
Yes:()=>{
再次检查答案,看起来您在某个地方有语法错误。请注意,如果使用
this
时请小心使用
函数()
在函数内部。