J'ai trois approches, ici vous pouvez utiliser les deux <input>ou <textarea>selon vos besoins.
1. Utilisez Input in <td>.
Utilisation de l' <input>élément dans tous les <td>s,
<tr><td><input type="text"></td>....</tr>
Vous pouvez également redimensionner l'entrée à la taille de son td. ex.,
input { width:100%; height:100%; }
Vous pouvez en outre modifier la couleur de la bordure de la zone de saisie lorsqu'elle n'est pas en cours de modification.
2. Utilisez l' contenteditable='true'attribut. (HTML5)
Toutefois, si vous souhaitez utiliser contenteditable='true', vous pouvez également enregistrer les valeurs appropriées dans la base de données. Vous pouvez y parvenir avec ajax.
Vous pouvez joindre keyhandlers keyup, keydown, keypressetc au <td>. En outre, il est bon d'utiliser un délai () avec ces événements lorsque l'utilisateur tape en continu, l'événement ajax ne se déclenchera pas à chaque pression de l'utilisateur clé. par exemple,
$('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. Ajoutez <input>à <td>quand vous cliquez dessus.
Ajoutez l 'élément d' entrée dans tdlorsque vous <td>cliquez sur, remplacez sa valeur en fonction de la tdvaleur de s. Lorsque l'entrée est floue, changez la valeur de `td avec la valeur de l'entrée. Tout cela avec javascript.