Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取动态生成的表td输入值_Javascript_Html - Fatal编程技术网

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();这太完美了!谢谢你,我的朋友