我在单元格中有一个带有文本的HTML表格,如下所示:
<tr><td>HELLO</td></tr>
然后我有一个像这样的文本区域:
<input type="text" id="txt_message" name="txt_message"
我想这样做,以便当您在表格单元格内部单击时,数据(在本例中为“HELLO”一词)将插入文本区域(因此用户无需键入)。
我不知道这是否可行,但我猜它是,而且它可能是JavaScript中的某些内容。
如果有人有任何建议会很好,谢谢:)
答案 0 :(得分:2)
<强> [Working demo] 强>
var textbox = document.getElementById('textbox');
var table = document.getElementById('table');
// add one event handler to the table
table.onclick = function (e) {
// normalize event
e = e || window.event;
// find out which element was clicked
var el = e.target || e.srcElement;
// check if it's a table cell
if (el.nodeName.toUpperCase() == "TD") {
// append it's content to the textbox
textbox.value += (el.textContent || el.innerText);
}
}
注意:||
的所有条件分配都是为了跨浏览器兼容。
答案 1 :(得分:1)
一个简单的jQuery片段,假设你有1个textarea和多个td来点击
(function() {
var ta = $('#txt_message');
$('td').bind('click.addtextarea', function() {
var text = $(this).html();
ta.val([ta.val(), text].join(' ')); /* this add words */
/* ta.val(text); this print one word */
});
})()
答案 2 :(得分:1)
这是Working demo
使用jquery。
答案 3 :(得分:1)
要获取值,请使用innerhtml和span,更多信息:http://www.vbforums.com/showthread.php?t=339864
要更新textarea,您应该可以执行以下操作:document.getElementById(“text_message”)。value = x;