Je voudrais rendre certaines cellules du tableau html modifiables, double-cliquez simplement sur une cellule, saisissez du texte et les modifications peuvent être envoyées au serveur. Je ne veux pas utiliser certaines boîtes à outils comme la grille de données dojo. Parce qu'il fournit d'autres fonctionnalités. Pourriez-vous me fournir un extrait de code ou des conseils sur la façon de l'implémenter?
la source
contenteditable
div chaque fois que vous créez un nouveau fichier<td>
. Sinon, comme mentionné dans l'article, vous pouvez ajouter lecontenteditable
sur les cellules, les lignes ou le tableau.HTML5 prend en charge contenteditable,
Modification tierce
Pour citer l' entrée mdn sur contenteditable
la source
true
, c'est quel que soit le nom. Par exemple<td contenteditable='contenteditable'></td>
,.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,Vous pouvez également redimensionner l'entrée à la taille de son
td
. ex.,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
,keypress
etc 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,3. Ajoutez
<input>
à<td>
quand vous cliquez dessus.Ajoutez l 'élément d' entrée dans
td
lorsque vous<td>
cliquez sur, remplacez sa valeur en fonction de latd
valeur de s. Lorsque l'entrée est floue, changez la valeur de `td avec la valeur de l'entrée. Tout cela avec javascript.la source
contenteditable=true
pouvez-vous m'aider s'il vous plaît?Ceci est un exemple exécutable.
la source
Vous pouvez utiliser x-editable https://vitalets.github.io/x-editable/ sa superbe bibliothèque de bootstrap
la source
Essayez ce code.
Vous pouvez également visiter ce lien pour plus de détails:
la source
Insérez simplement l'
<input>
élément<td>
dynamiquement, en cliquant sur la cellule. Seulement du HTML et Javascript simples. Pas besoin decontentEditable
,jquery
,HTML5
https://Jsfiddle.net/gsivanov/38tLqobw/2/
la source
J'utilise ceci pour un champ modifiable
la source
Si vous utilisez Jquery, ce plugin vous aide est simple, mais c'est bien
https://github.com/samuelsantosdev/TableEdit
la source
C'est le point essentiel bien que vous n'ayez pas besoin de rendre le code aussi compliqué. Au lieu de cela, vous pouvez simplement parcourir tous les
<td>
et ajouter les<input>
avec les attributs et enfin mettre les valeurs.la source
c'est en fait si simple, c'est mon HTML, exemple jQuery .. et cela fonctionne comme un charme, je construis tout le code en utilisant un échantillon de données json en ligne. à votre santé
<< HTML >>
<< jQuery >>
la source