J'ai une table qui a une ligne et une seule cellule sera modifiable. J'ai accompli ceci avec le code suivant.Comment mettre à jour une ligne de table avec le bouton Enregistrer en utilisant .ajax
$("td#effEndDate").click(function() {
if (!$(this).hasClass("edit")) {
var value = jQuery.trim($(this).html());
$(this).html("<input id=\"txtEdit\" type=\"text\" value=\"" + value + "\" />");
$(this).addClass("edit");
$("#txtEdit").focus();
}
});
Maintenant, c'est la partie où je suis bloqué.
Une fois le champ est mis à jour un bouton de sauvegarde doit être cliqué pour appeler la méthode appropriée .ajax de mettre à jour la base de données. Mais comment puis-je comparer la valeur précédente à la valeur actuelle sur un bouton? Puisque je n'utilise pas la propriété onblur où j'aurais pu sauvegarder l'ancienne valeur et la passer à la fonction de mise à jour.
Merci, oui ça marche. Mais si je voulais rendre plus d'une cellule éditable, la fonction .click sera appelée plus d'une fois, effaçant ainsi la valeur précédente. Existe-t-il un moyen de sauvegarder l'intégralité de
Bonjour, J'ai édité ma réponse pour refléter votre commentaire. – Luke101
Je stockerait la valeur d'origine quelque part dans une variable et comparer les deux dans la fonction de soumission avant d'envoyer l'appel
.ajax
.Source
2010-06-02 00:40:56 dgw
Merci pour votre réponse rapide. La valeur d'origine est déjà enregistrée dans la troisième ligne du code. var value = jQuery.trim ($ (this) .html()); Mais cette valeur n'est pas visible pour les autres fonctions. Comment pourrais-je sauvegarder la valeur afin qu'elle soit visible pour d'autres fonctions? –
Questions connexes