我有一个数据表。表格第一列是按钮;按钮上有一个 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> </td>
<td> </td>
<td>240</td>
<td> </td>
<td>31.12.2004</td>
</tr>
</tbody>
</table>
代码有一些问题,看起来您正在尝试从第二列(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;
}
您正在将按钮传递给该函数。
使用 .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> </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> </td>
<td> </td>
<td>240</td>
<td> </td>
<td>31.12.2004</td>
</tr>
</tbody>
</table>
<input type="text" id="txtFirmaAdi" value="" />