如何将表格行的列形成输入字段

问题描述 投票:0回答:2

我有一个数据表。表格第一列是按钮;按钮上有一个 onclick 事件。另一列是公司名称,我想将表单部分的 txtFirm 名称字段设置为所选行的公司名称列。

我的javaScript如下,但它没有按预期工作

function callme(e) {
  var tds = e.getElementsByTagName('td');
  document.getElementById("txtFirmaAdi").value = tds[1].innerHTML.trim();
}
<table id="ctl03_ucOzgecmisTecrube_ctlGridSgkTecrube">
  <tbody>
    <tr>
      <th>İşyeri Sicil No</th>
      <th>İşyeri Adı</th>
      <th>Meslek Kodu</th>
      <th>Meslek</th>
      <th>Süre</th>
      <th>Baş Tar</th>
      <th>Bit Tar</th>
    </tr>
    <tr>
      <td><input type="submit" name="ctl03$ucOzgecmisTecrube$ctlGridSgkTecrube$ctl02$btnAktar" value="Aktar" onclick="return callme(this);" id="ctl03_ucOzgecmisTecrube_ctlGridSgkTecrube_ctl02_btnAktar" class="inp"></td>
      <td>43821010110221190210174</td>
      <td>GELİŞİM TEM.İNŞ.GIDA TEL.SAN.TİC.LTD.ŞTİ.</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>240</td>
      <td>&nbsp;</td>
      <td>31.12.2004</td>
    </tr>
  </tbody>
</table>

javascript asp.net-core aspxgridview
2个回答
1
投票

代码有一些问题,看起来您正在尝试从第二列(tds[1])访问公司名称,但您的评论表明公司名称位于第三列中。

function callme(e) {
 var tds = e.parentNode.parentNode.getElementsByTagName('td'); 
 // Get the parent row's td elements

// The index might need to be adjusted based on the actual column 
    position

 var firmName = tds[2].innerHTML.trim(); 
  // Use tds[2] for the firm name column

 document.getElementById("txtFirmaAdi").value = firmName;
       }

1
投票

您正在将按钮传递给该函数。

使用 .closest 查找父级

代码中的公司名称位于第二列(根据 şyeri Adı 的谷歌翻译)从零开始 - 所以 td[1],但是那里有一个很长的数字

43821010110221190210174
似乎与
İşyeri Sicil No

匹配

如果我添加

<th></th>
并更改为 td[2] 它更有意义

function callme(button) {
  const number = button.closest("tr").querySelectorAll("td")[2].textContent.trim(); 
  document.getElementById("txtFirmaAdi").value = number;
}
<table id="ctl03_ucOzgecmisTecrube_ctlGridSgkTecrube">
  <tbody>
    <tr>
      <th>&nbsp;</th>
      <th>İşyeri Sicil No</th>
      <th>İşyeri Adı</th>
      <th>Meslek Kodu</th>
      <th>Meslek</th>
      <th>Süre</th>
      <th>Baş Tar</th>
      <th>Bit Tar</th>
    </tr>
    <tr>
      <td><input type="submit" name="ctl03$ucOzgecmisTecrube$ctlGridSgkTecrube$ctl02$btnAktar" value="Aktar" onclick="return callme(this);" id="ctl03_ucOzgecmisTecrube_ctlGridSgkTecrube_ctl02_btnAktar" class="inp"></td>
      <td>43821010110221190210174</td>
      <td>GELİŞİM TEM.İNŞ.GIDA TEL.SAN.TİC.LTD.ŞTİ.</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>240</td>
      <td>&nbsp;</td>
      <td>31.12.2004</td>
    </tr>
  </tbody>
</table>
<input type="text" id="txtFirmaAdi" value="" />

© www.soinside.com 2019 - 2024. All rights reserved.