我想获取 td 的值并将其打印到文本框,但 td 具有 jSTL 值,因此它获得 arraylist 中的第一个值,但我想在用户单击它时获取 td 中的当前值。 谁能帮我我该怎么做?
$(document).ready(function() {
$("div.contacts table td").live('click', function() {
document.getElementById("contactName").value=
document.getElementById("contactId").innerHTML;
});
});
输入文本和td
<input type="text" id="contactName">
<td id="contactId">{{contact.email}}</td>
最佳答案
您必须获取被点击元素的 HTML,即 this
:
$(document).ready(function() {
$("div.contacts table td").live('click', function() {
$("#contactName").val($(this).text());
});
});
请注意,live()
方法已弃用。您应该改用 on
。
演示,使用on
:
$(document).ready(function() {
$("div.contacts").on('click', "table td", function() {
$("#contactName").val($(this).text());
});
});
td {
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="contactName">
<div class="contacts">
<table>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>Alice</td>
</tr>
<tr>
<td>Bob</td>
</tr>
<tr>
<td>Carol</td>
</tr>
</tbody>
</table>
</div>
关于javascript - 通过javascript获取td jSTL值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266706/