Ho tre approcci, qui puoi usare entrambi <input>o <textarea>secondo le tue esigenze.
1. Usa Input in <td>.
Usando l' <input>elemento in tutti <td>i messaggi,
<tr><td><input type="text"></td>....</tr>
Inoltre, potresti voler ridimensionare l'input alla dimensione del suo td. ex.,
input { width:100%; height:100%; }
È inoltre possibile modificare il colore del bordo della casella di immissione quando non viene modificata.
2. Usa contenteditable='true'attributo. (HTML5)
Tuttavia, se si desidera utilizzare contenteditable='true', è possibile salvare anche i valori appropriati nel database. Puoi ottenere questo risultato con ajax.
È possibile allegare keyhandlers keyup, keydown, keypressecc per il <td>. Inoltre, è bene usare un po 'di delay () con quegli eventi quando l'utente digita continuamente, l'evento ajax non si attiverà ad ogni pressione del tasto dell'utente. per esempio,
$('table td').keyup(function() {
clearTimeout($.data(this, 'timer'));
var wait = setTimeout(saveData, 500); // delay after user types
$(this).data('timer', wait);
});
function saveData() {
// ... ajax ...
}
3. Aggiungi <input>a <td>quando viene cliccato.
Aggiungi l'elemento di input tdquando si <td>fa clic su, sostituisci il suo valore in base al tdvalore di. Quando l'ingresso è sfocato, modificare il valore di `td con il valore dell'ingresso. Tutto questo con javascript.