我已将此代码添加到javascript中的函数中,并且在用户单击按钮将行上移或下移后,已成功使用行的新值更新了第一个TD表,问题是我正在使用输入此td中的字段,输入被删除,现在的值只是一个简单的文本/数字字符。
如何更改此代码段以更新第一个td内的输入字段,而不是用输入字段外的新值替换td内容。
Array.prototype.forEach.call(document.querySelectorAll('td:first-child'),
function (elem, idx) { elem.innerHTML = idx + 1; }
)
好的,所以在Archers的帮助下,我更新了下面的代码,现在有了我想要的功能。感谢所有参加这个新手教育的人;)
Array.prototype.forEach.call(document.querySelectorAll('td:first-child input[name^=sort]'), function (elem, idx) {
elem.value = idx + 1;
通过更改
'td:first-child'
到
'td:first-child input[name^=sort]'
我能够引用特定的输入字段,而不是第一td列中的所有输入字段,并且不再用纯文本替换输入字段。
答案 0 :(得分:2)
您可以将选择器更改为目标输入,而不是输入中的单元格。
Array.prototype.forEach.call(document.querySelectorAll('td:first-child input'),
function (elem, idx) {
elem.value = idx + 1;
});
答案 1 :(得分:0)
或者您可以使用代码来更改其主体,如下所示:
Array.prototype.forEach.call(document.querySelectorAll('td:first-child'), function(elem, idx){
(elem.querySelector("input")||{}).value=idx+1; //use this line instead of your forEach body
});