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
, keypress
ecc 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 td
quando si <td>
fa clic su, sostituisci il suo valore in base al td
valore di. Quando l'ingresso è sfocato, modificare il valore di `td con il valore dell'ingresso. Tutto questo con javascript.