Une meilleure solution est de post-traitement des données JSON renvoyées devant elle frappe la page.
Supposons que votre serveur renvoie la chaîne JSON suivante:
{ "status": 1, "result": "value to be displayed", "other": "some other data" }
et vous souhaitez traiter le champ « statut » et « autres » champs, et afficher le « résultat » dans le champ de saisie jeditable.
Ajoutez les 2 lignes à jquery.jeditable.js suivantes:
(autour de la ligne 95):
var intercept = settings.intercept || function(s) {return s; };
(autour de la ligne 350, juste après «succès: fonction (résultat, état) { "
result = intercept.apply(self,[result]);
Ensuite, dans votre propre code, faire quelque chose comme ce qui suit:
$(some_field).editable(
'/some_url_on_your_server',
{
indicator : "<img src='/images/spinner.gif'>",
tooltip: "Click to edit.",
indicator: "Saving...",
onblur: "submit",
intercept: function (jsondata) {
obj = jQuery.parseJSON(jsondata);
// do something with obj.status and obj.other
return(obj.result);
},
etc.
Cela vous permet de faire des choses sympas comme avoir votre serveur convertir les abréviations en chaînes complètes, etc.
Enjoy!
La variable 'value' dans le rappel, décrite dans la réponse de Felipe, contient la réponse du serveur. Vous pouvez donc faire ce que vous voulez avec le rappel. J'ai utilisé la réponse JSON de mon serveur pour remplir le texte affiché sur la page pour l'utilisateur, et aussi pour déterminer d'autres changements sur la page. –