IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

AngularJS : exécuter une fonction jQuery à la fin du rendu


Sujet :

AngularJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut AngularJS : exécuter une fonction jQuery à la fin du rendu
    Bonjour les amis,


    j'ai mis en place un select jQuery.
    le but étant exécuter cette commande jQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('*.select-cart').select2();
    afin que tous les select soit redesigné par cette fontion jQuery.


    il faut donc que le rendu de la page soit terminé et ensuite executer la commande jQuery.
    seulement en AngularJs j'ai des soucis.


    j'ai vu qu'on pouvait faire appel à une directive... voici les codes sources.

    app.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    starter.directive('emitLastRepeaterElement', function() {
        return function(scope) {
            if (scope.$last){
                scope.$emit('LastRepeaterElement');
            }
        };
    });
    products.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div ng-repeat="product in ctrl.products  emit-last-repeater-element>
                        <a class="list-group-item" href="#/detail/{{product.id}}">
                            <div class="row">
    ...
    ...
                                <div class="col-md-12">
                                    <ngcart-addtocart id="{{ product.id }}" name="{{ product.nom }}" price="{{ product.prix }}" quantity="1" quantity-max="30" data="product"></ngcart-addtocart>
                                </div>
                            </div>
                        </a>
                    </div>

    productCtrl.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        $scope.$on('LastRepeaterElement', function(){
            $('*.select-cart').select2();
            console.log("ok enter!");
        });
    "ok enter!" s'affiche bien dans la console -> mais les select ne sont pas pris en charge.

    pour tester, j’exécute : $('*.select-cart').select2(); dans la console firebug et les select se redessine bien, c'est ok !


    une idée ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Normal, avec angularJs il vaut mieux utiliser des modules angularJs comme angular-ui-select pour faire des selects(Si tu veux des images dans les selects et un champs recherche, ce qui est bien cool ).

    Ou vaut mieux même faire des selects tous simples avec un ng-repeat du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <select ng-model="monChoix" class="form-control">
    	<option value="" >Choisir la station</option>
    	<option ng-repeat="station in stations " value="{{::station.id}}">{{::station.nom}}</option> 
    </select>
    Je ne saurais pas expliquer le problème, mais certains "trucs" Jquery ne passent pas avec Angular, c'est au niveau du Dom...

  3. #3
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    merci pour ces informations devwebsympa , t'es vraiment sympa

    je vais donc utiliser angular-ui-select pour avoir de beau select

  4. #4
    Invité
    Invité(e)
    Par défaut
    Seul Marco46 pourra décrire pourquoi cela ne fonctionne pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/10/2014, 08h22
  2. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  3. [Excel] Selection multiple avec critères
    Par tibotibotibo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2005, 10h48
  4. Requete select imbriqués avec plusieurs références
    Par GAlion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 14h06
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo