Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:php:phalcon:jquery:usage [2015/03/22 16:25] – [2.1- Requêtes immédiates] jcheron | slam4:php:phalcon:jquery:usage [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Principales fonctionnalités de la librairie Phalcon-JQuery (hors JQuery UI et Twitter Bootstrap) | Principales fonctionnalités de la librairie Phalcon-JQuery (hors JQuery UI et Twitter Bootstrap) | ||
+ | |||
+ | Pour Bootsrap, voir [[slam4: | ||
===== -- Association d' | ===== -- Association d' | ||
Ligne 25: | Ligne 27: | ||
=== -- Utilisation du paramètre event du callback === | === -- Utilisation du paramètre event du callback === | ||
- | + | < | |
- | Le code passé au callback peut utiliser le paramètre **event** passé par JQuery, et **$(this)**, | + | Le code passé au callback peut utiliser le paramètre **event** passé par JQuery |
__**Exemple :**__ appui sur une touche, récupération du code de la touche frappée et de l'id de l' | __**Exemple :**__ appui sur une touche, récupération du code de la touche frappée et de l'id de l' | ||
Ligne 84: | Ligne 86: | ||
Pour les évènements inconnus de JQuery ou ne disposant pas de méthode associée dans la librairie phalcon-jquery, | Pour les évènements inconnus de JQuery ou ne disposant pas de méthode associée dans la librairie phalcon-jquery, | ||
- | * < | + | * < |
== Exemple == | == Exemple == | ||
Ligne 92: | Ligne 94: | ||
public function dropdownAction(){ | public function dropdownAction(){ | ||
... | ... | ||
- | $this-> | + | $this-> |
... | ... | ||
} | } | ||
Ligne 98: | Ligne 100: | ||
=== Exécuter du JQuery === | === Exécuter du JQuery === | ||
- | * < | + | * < |
== Exemple == | == Exemple == | ||
Ligne 105: | Ligne 107: | ||
public function dropdownAction(){ | public function dropdownAction(){ | ||
... | ... | ||
- | $this-> | + | $this-> |
... | ... | ||
} | } | ||
Ligne 168: | Ligne 170: | ||
=== -- JSON Array === | === -- JSON Array === | ||
+ | |||
+ | A partir de la version : [[https:// | ||
Il peut être également intéressant de réceptionner des données JSON sous forme de tableau, et d' | Il peut être également intéressant de réceptionner des données JSON sous forme de tableau, et d' | ||
Ligne 181: | Ligne 185: | ||
La vue contenant le mask :\\ | La vue contenant le mask :\\ | ||
- | Les éléments à remplacer dans le mask doivent comporter l' | + | Les éléments à remplacer dans le mask doivent comporter l' |
<sxh html; | <sxh html; | ||
Ligne 202: | Ligne 206: | ||
- | Le même exemple, en mettant le chargement JSON sur le click d'un bouton :\\ | + | == Le même exemple, en mettant le chargement JSON sur le click d'un bouton : == |
+ | |||
+ | on utilise **jsonArrayDeferred**, | ||
<sxh php; | <sxh php; | ||
Ligne 213: | Ligne 219: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | == Même exemple, mais avec séparation contrôleur/ | ||
+ | |||
+ | Le contrôleur : | ||
+ | <sxh php; | ||
+ | public function jsonArray3Action(){ | ||
+ | $btn=$this-> | ||
+ | $btn-> | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | La vue associée : | ||
+ | |||
+ | <sxh html; | ||
+ | {{q[" | ||
+ | < | ||
+ | < | ||
+ | <div id=' | ||
+ | <input type=' | ||
+ | </ | ||
+ | {{script_foot}} | ||
+ | </ | ||
+ | |||
+ | == Exemple avec affectation plus complexe == | ||
+ | |||
+ | On souhaite maintenant que le retour JSON puisse modifier de multiples valeurs présentes dans le mask html : | ||
+ | |||
+ | Soit le masque suivant, défini dans la vue :\\ | ||
+ | Nous souhaitons modifier les valeurs des progressbars Bootstrap avec les valeurs **pb** et **style** de notre JSON : il faut dans ce cas préciser inclure dans le masque les membres **< | ||
+ | |||
+ | <sxh html; | ||
+ | {{q[" | ||
+ | {{q[" | ||
+ | < | ||
+ | < | ||
+ | <div id=' | ||
+ | <input type=' | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | [[pb]]% | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | {{script_foot}} | ||
+ | </ | ||
+ | |||
+ | __**Retour JSON :**__ | ||
+ | |||
+ | <sxh php; | ||
+ | public function jsonArrayResponseAction(){ | ||
+ | echo ' | ||
+ | {" | ||
+ | {" | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | __**Le Contrôleur ne change pas :**__ | ||
+ | |||
+ | <sxh php; | ||
+ | public function jsonArray2Action(){ | ||
+ | $btn=$this-> | ||
+ | $btn-> | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | __**Résultat**__ | ||
+ | |||
+ | {{: | ||
==== -- Association de requêtes à des évènements ==== | ==== -- Association de requêtes à des évènements ==== | ||
Pour faire plus court, les exemples suivants ne comportent pas de vues, et les éléments HTML sont directement produits dans le contrôleur (à éviter...) | Pour faire plus court, les exemples suivants ne comportent pas de vues, et les éléments HTML sont directement produits dans le contrôleur (à éviter...) | ||
- | === -- getAndBindTo | + | === -- getOn === |
Permet d' | Permet d' | ||
Ligne 225: | Ligne 304: | ||
<sxh php; | <sxh php; | ||
public function getAction(){ | public function getAction(){ | ||
- | $this-> | + | $this-> |
echo "< | echo "< | ||
echo "< | echo "< | ||
Ligne 236: | Ligne 315: | ||
</ | </ | ||
- | === -- postFormAndBindTo | + | === -- postFormOn |
Permet d' | Permet d' | ||
Ligne 249: | Ligne 328: | ||
public function postFormAction(){ | public function postFormAction(){ | ||
- | $this-> | + | $this-> |
echo "< | echo "< | ||
< | < | ||
Ligne 262: | Ligne 341: | ||
|< 100% >| | |< 100% >| | ||
^Méthode ^Rôle^ | ^Méthode ^Rôle^ | ||
- | |< | + | |< |
Ou de combiner les méthodes différées avec les méthodes évènementielles : | Ou de combiner les méthodes différées avec les méthodes évènementielles : |