J'ai trois approches, Ici, vous pouvez utiliser les deux <input>
ou <textarea>
selon vos besoins.
1. Utiliser l'entrée dans <td>
.
Utilisation de <input>
dans tous les <td>
s,
<tr><td><input type="text"></td>....</tr>
De même, vous pouvez redimensionner l'entrée à la taille de son td
. ex..,
input { width:100%; height:100%; }
Vous pouvez également modifier la couleur de la bordure du champ de saisie lorsqu'il n'est pas en cours d'édition.
2. Utilisez contenteditable='true'
attribut. (HTML5)
Cependant, si vous voulez utiliser contenteditable='true'
vous pourriez également vouloir enregistrer les valeurs appropriées dans la base de données. Vous pouvez réaliser cela avec ajax.
Vous pouvez attacher des gestionnaires de clés keyup
, keydown
, keypress
etc. à la <td>
. De plus, il est bon d'utiliser delay() avec ces événements, lorsque l'utilisateur tape continuellement, l'événement ajax ne se déclenchera pas à chaque pression de touche de l'utilisateur. 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. Ajouter <input>
à <td>
lorsqu'il est cliqué.
Ajouter l'élément de saisie dans td
lorsque le <td>
est cliqué, remplace sa valeur en fonction de l'option td
La valeur de l'entreprise. Lorsque l'entrée est floue, changez la valeur du `td avec celle de l'entrée. Tout cela avec javascript.