如何用JavaScript或jQuery获取表格td中input的员工编号值?
解决表格行内input字段值获取问题
问题原因
- 代码存在拼写错误:
crw应为Row,否则会导致无法获取单元格元素。 - 使用
innerText无法拿到input的输入值:innerText仅能读取元素的文本节点内容,而input的用户输入值存储在其value属性中,并非td的文本内容。
原生JavaScript修正方案
修正拼写错误后,从目标td中定位input元素,直接读取其value属性:
function update(thisrow){ var Row = document.getElementById(thisrow); var Cells = Row.getElementsByTagName("td"); // 修正crw为Row var id = Cells[0].innerText.trim(); // 去除文本首尾空格 // 从第二个td中找到name为employee_no的input元素 var inputElement = Cells[1].querySelector('input[name="employee_no"]'); var employee = inputElement ? inputElement.value.trim() : ''; // 兼容元素不存在的情况 }
jQuery解决方案
如果项目中引入了jQuery,可以用更简洁的写法:
function update(thisrow){ var $row = $('#' + thisrow); var id = $row.find('td:first').text().trim(); var employee = $row.find('input[name="employee_no"]').val().trim(); }
补充说明
- 注意input的
id="employee_no"如果在页面中重复出现(比如表格多行),会导致DOM ID冲突,建议改用class或者动态生成唯一ID,避免后续出现其他问题。 - 使用
trim()是为了去除文本首尾的空白字符,保证数据整洁。
内容的提问来源于stack exchange,提问作者sheetal singh
相关产品推荐
相关产品推荐

