如何根据表格单元格的更改值设置字段值

时间:2019-01-06 12:03:14

标签: javascript jquery

我有两个输入字段,标签为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>

2 个答案:

答案 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);
});