Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Est-il possible d'indiquer au helper ajaxLink dans le tableau params une chaine javascript qui sera interpreté dans le rendu du helper ?
Je n'y parviens pas.
Exemple:
<?php echo $this->ajaxLink('Filtrer', '/controller/action', array('update' => '#liste-attendues', 'method' => 'post', ), array("var" => "$('#var').val()", ) ); ?>
Le but étant, dans exemple ici, de récupérer la valeur courante d'un champ select (identifiant var) et de la transmettre dans la requête. Bien entendu cette valeur ne peut être récupérer en php puisqu'elle change coté client.
Merci pour vos éclairages.
Dernière modification par tomskab (12-05-2009 14:32:28)
Hors ligne
Après quelques recherches dans les sources de ZendX_JQuery, je peux me répondre.
L'argument 'params' du helper est encodé en JSON avec la méthode:
Zend_Json::encode($value, false, array('enableJsonExprFinder' => true))
Il est donc possible de transmettre du code javascript, toutefois pour qu'il soit correctement généré (par le rendu du helper ajaxLink), il est nécessaire de transmettre le code javascript sous forme d'objet Zend_Json_Expr.
Ce qui donne pour mon exemple ci-dessus:
<?php echo $this->ajaxLink('Filtrer', '/controller/action', array('update' => '#liste-attendues', 'method' => 'post', ), array("var" => new Zend_Json_Expr('$("#var").val()'), ) );
Ainsi la valeur courante de l'élément select #var sera transmise dans la requête ajax.
Voilà, cela n'était pas clair pour moi alors peut-être que cela aidera certains...
Hors ligne
Merci de t’être répondu, ça m'a sorti d'une galère
Hors ligne
Pages: 1