2013-08-18 3 views
0

J'ai eu un problème similaire à afterAjaxUpdate callbackfunction CListView shows undefined.après l'appel AjaxUpdate ne pas être appelé

Actuellement, ma fonction n'est pas appelée. Vraiment pas sûr pourquoi. Chrome n'affiche aucune erreur dans le journal.

J'ai les éléments suivants dans mon code HTML. Et je peux l'appeler à partir du journal de la console, ok.

<script> 
function savedUser() 
{ 
    alert('hello'); 
} 
</script> 

Et j'utilise ce qui suit dans mon CGridView

'afterAjaxUpdate'=>'savedUser', 

Je pense que cela est vraiment évident. Mais je n'ai plus d'idées. Toute aide serait grande

+1

Je viens de faire un essai et il a bien fonctionné. Pouvez-vous afficher le code source HTML et rechercher quelque chose comme jQuery ('# my_grid'). YiiGridView (... 'afterAjaxUpdate': savedUser}) pour voir s'il existait ou non? –

+0

@TelvinNguyen N'a pas obtenu aprèsAjaxUpdate comme prévu. Il est down comme ''afterAjaxUpdate': function() {... ' C'est juste une série d'instructions comme 'jQuery ('. Popover'). Remove(); ' – Jonnny

+1

' afterAjaxUpdate ': savedUser devrait être là. Je pense que c'est un indice important pour indiquer votre problème. Juste une supposition, la grille que vous examinez et la grille qui a le réglage ci-dessus sont un? –

Répondre

1

Vous devez dire à Yii que 'savedUser' est le nom d'un identifiant JavaScript afin qu'il ne l'encodage pas - sinon, Yii placera des citations autour de savedUser et JavaScript le traitera comme une chaîne au lieu de le nom d'une fonction.

Vous pouvez le faire en enveloppant le nom dans un CJavaScriptExpression:

'afterAjaxUpdate'=> new CJavaScriptExpression('savedUser'), 
+0

Merci pour cela. Cela ne semble pas avoir réglé le problème. Il ne se passe toujours rien. – Jonnny

+0

@Jonnny: C'est étrange. Que dit la console javascript du navigateur? Des erreurs? – Jon

+0

Je pensais, non, pas d'erreurs non plus. Je viens de répondre à @Telvin avec sa question. Je sais que dans les docs après AjaxUpdate attend 'fonction (id, données) où 'id' se réfère à l'ID de la vue de la grille, 'données' les données de réponse ajax reçues.'. Mais ayant vu le Q précédent ici, j'ai pensé que mon chemin serait bien aussi. – Jonnny

Questions connexes