我有两个输入字段,标签为empID和Name,表有3列tblempID,tblName和tblTxt。 在表的每一行中更改任何tblTxt单元格值时,如何将empID值设置为相同的tblmpID值。
T尝试了以下方法:
$(document).ready(function(){
tblTxtchange();
$('.tbl1').on('change', tblTextchange);
function tblTxtchange() {
$('.tbl1 tbody tr').each(function () {
$(this).find('.tblTxt').each(function () {
$('.tblTxt').change(function(){
$('.empID').val($('.tblText')
.closest('tr').find($('.tblEmpID').val()));
});
});
});
}
});
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
<input id="empID"/>
<input id="Name"/>
<table style="width:100%" class="tbl1">
<tr>
<th>tblempID</th>
<th>tblName</th>
<th>tblTxt</th>
</tr>
<tr>
<td><input class="tblEmpID" /></td>
<td><input class="tblName" /></td>
<td><input class="tblTxt" /></td>
</tr>
<tr>
<td><input class="tblEmpID" /></td>
<td><input class="tblName" /></td>
<td><input class="tblTxt" /></td>
</tr>
<tr>
<td><input class="tblEmpID" /></td>
<td><input class="tblName" /></td>
<td><input class="tblTxt" /></td>
</tr>
</table>
答案 0 :(得分:1)
我怀疑您在想它。 (您还错误地使用了.find()
。)最简单的是,您需要一个.tblTxt
元素的处理程序,该处理程序可以找到对应的tblEmpID
值并将其设置为#empID
元素。不需要循环,函数调用等。
$('.tblTxt').on('change', function () {
let empID = $(this).closest('tr').find('.tblEmpID').val();
$('#empID').val(empID);
});
答案 1 :(得分:0)
我有一个正在运行的代码来解决您的问题,如果您正在寻找其他内容,请更新
$('.tblTxt').change(function () {
var row_emp_id = $(this).closest('tr').find('.tblEmpID').val();
$('#empID').val(row_emp_id);
});