Javascript 如何获取动态生成的表td输入值
我有一个动态生成的表,如下所示 这是生成此表的代码Javascript 如何获取动态生成的表td输入值,javascript,html,Javascript,Html,我有一个动态生成的表,如下所示 这是生成此表的代码 功能pullInventory(数据){ var container=document.getElementById('inventoryContainer') var指数=0; console.log(索引) data.forEach(函数(awardsSnap){ 索引++; //console.log(awardsSnap,索引) var awardItem=awardsSnap.val() //将异步回调附加到rea var NSN
功能pullInventory(数据){
var container=document.getElementById('inventoryContainer')
var指数=0;
console.log(索引)
data.forEach(函数(awardsSnap){
索引++;
//console.log(awardsSnap,索引)
var awardItem=awardsSnap.val()
//将异步回调附加到rea
var NSNcard=`
${awardItem.NSN}
${awardItem.命名法}
${awardItem.Awarddate}
${awardItem.Awardid}
`;
container.innerHTML+=NSNcard;
});
}
val()
是jQuery方法。您需要在JavaScript中使用.value
。obj[columnHeader[i]=curr.innerHTML.trim()
innerHtml.trim仅返回具有直接子级且包含文本的标记。在您的代码中,最后两个td将输入作为子项。
因此,在这种情况下,你需要检查“curr”是否有孩子。如果有一个子标记名可用,且其标记名为输入,则必须使用childs值
比如说
obj[columnHeader[i]] = curr.children.length && curr.children[0].tagName=="INPUT" ? curr.children[0].value : curr.innerHTML.trim();
在将上述条件分配给键之前,可以检查并将其分配给变量。您可以尝试执行以下操作:
window.onload=()=>{
让targetTable=document.getElementById('target-table');
设targetTableRows=targetTable.rows;
设tableHeaders=targetTableRows[0];
//从第二行开始,因为第一行只包含表的标题
for(设i=1;i
人#
弗斯特
最后
手柄
量
价格
1.
做记号
奥托
@mdo
2.
雅各布
桑顿
@肥
3.
拉里
鸟
@推特
请编辑您的问题并创建一个实际运行的代码段,显示您传递给pullInventory的对象是什么类型的?不仅如此,数据似乎是一个数组-如果它不是一个输入数组,那么。值也将不起作用,除非该对象具有[“值”]attributeit仍然返回两个输入字段的未定义扫描您是否尝试使用obj[columnHeader[i]=curr.children.length&&curr.children[0]。标记名==“输入”?curr.children[0]。值:curr.innerHTML.trim();这太完美了!谢谢你,我的朋友