2010-11-19 3 views
2

Ich habe eine HTML-Tabelle mit Text in den Zellen wie so:Klicken Sie auf HTML-Tabellendaten und Einfügen in Textbereich

<tr><td>HELLO</td></tr> 

ich dann einen Textbereich haben etwa so:

<input type="text" id="txt_message" name="txt_message"

Ich möchte es so machen, dass, wenn Sie innerhalb der Tabellenzelle klicken, die Daten (in diesem Fall das Wort "HALLO") in den Textbereich eingefügt werden (so dass der Benutzer sie nicht eingeben muss).

Ich weiß nicht, ob das möglich ist, aber ich vermute es ist und es ist "wahrscheinlich" etwas in JavaScript.

Wenn jemand einen Rat hat, die groß sein würde, Danke :)

+0

Möchten Sie ein neues Textfeld in dieser Zelle erstellen oder Text in bereits vorhandenes Textfeld kopieren? –

Antwort

1

einen einfachen jQuery-Schnipsel, vorausgesetzt, Sie haben 1 TextArea- und mehr td klicken über

(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 */ 
    }); 
})() 
1

Hier Working demo ist jquery mit .

+0

Brilliant antwortet dank sehr, sehr viel !! – jason

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); 
    } 
}​ 

Hinweis: alle bedingten Zuweisungen mit || sind für Cross-Browser-Kompatibilität.

Verwandte Themen