情境:
我正在使用数据表库来显示大量信息。该表包含以下行:
Id Type Name Case
我正在寻找的是当我点击第二行类型时,该值将被采用并粘贴到文本框中
实施例
Id Type Name Case
1 text Juan 20001
3 List Pedro 20005
如果我单击id为#1的行,我需要使用Type innerHTML。无论我点击哪一行只是采取第二个td的html。
我尝试使用此代码:
$("tr td").click(function () {
alert($(this).html());
})
它工作得很好,但问题是用户必须完全单击行名称,但如果用户可以点击任何行并且只需要第二行html就会更好。
Suggesstions?
答案 0 :(得分:1)
尝试使用eq()
但如果用户可以点击任何一行而只是更好 取第二行html。
$("tr td").click(function () {
secondrow = $(this).closest('tr').siblings().eq(1);
});
如果我单击id为#1的行,我需要输入Type innerHTML之中。无论我点击哪一行只是采取 第二个td的html。
$("tr td").click(function () {
secondTd = $(this).siblings().eq(1);
alert(secondTd.html());
});
答案 1 :(得分:1)
myRow.getElementsByClassName('td')[1].innerHTML
只要第一个表格单元格不包含嵌套表格,就可以获得innerHTML
的第二个表格单元格的myRow
。
您可以尝试将点击处理程序添加到行而不是单元格中。
答案 2 :(得分:0)
试试这个
$(function () {
$("#thetable tr").click(function () {
if ($(this).index() == 0) return;
$('#tbox').val($('td:nth-child(2)', $(this)).html())
})
});
<table border="1" cellpadding="4" id="thetable">
<tr>
<td>Id</td>
<td>Type</td>
<td>Three</td>
<td>Four</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
</table><br />
<input type="text" name="tbox" id="tbox" />
该方法会考虑仅包含标签的第一行,如果单击顶行,则不会将文本框值设置为标签。