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

JavaScript Discussion :

Autocompletion dans un onglet dans une modale avec Materialize


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut Autocompletion dans un onglet dans une modale avec Materialize
    Bonjour,

    Je cherche à intégrer un champ autocomplété dans un tab lui même dans une modale. Je travaille avec Materialize.

    Je travaille sur une fonction qui est un appel Ajax à une API. Par conséquent, le contenu de la modale est écrit en javascript via ("#el").html(' ').

    D'une manière générale, il semble que Materialize n'apprécie pas les fonctions spéciales tq "Tabs", "Autocomplete" à l'intérieur d'une modale.

    J'ai trouvé sur internet un moyen de contourner le problème pour les tabs, mais cela semble ne pas fonctionner pour le champ autocomplété.

    A ce propos, je partage la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function(){
      $('.modal').modal({
    onOpenEnd: function(el) {
        	$(el).find('.tabs').tabs({ swipeable: false });
        }
    })
    Pour l’autocomplétion il s'agit surement de compléter le code ci-dessus, sachant que l'array demandé par l'autocomplétion doit venir d'un appel AJAX à mon API. L'array doit être généré dynamiquement.
    J'ai également le sentiment qu'il pourrait s'agir d'une erreur de DOM, typiquement une fonction attribuée à un sélecteur qui n'existe pas encore.


    Est ce que quelqu'un parmi la communauté voit une solution pour contourner le problème rencontré ?

    Merci pour vos retours

    Sylvain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     $.ajax({
        url: ***********,
        type:'GET',
        datatype:'json',
        complete: function(res1) {
            var record = res1.responseJSON;
     
            $('#modal_maj_profil').html(`
            <div class="modal_header"> Profil ${record.nom_profil}</div>
            <div class="modal_content">
              <div class="row">
                  <div class="col s12">
                    <ul class="tabs">
                      <li class="tab col s6">
                        <a id="firstTab" class="active" href="#infos">Informations</a>
                      </li>
                      <li class="tab col s6">
                        <a href="#admin">Admin</a>
                      </li>
                    </ul>
                  </div>
                  <div id="infos" class="col s12 modal-main-panel">
     
                  </div>
                  <div id="admin" class="col s12 modal-main-panel">
                      <div class="input-field col s6">
                      <input type="text" class='input_fiche' id="autocomplete-input" class="autocomplete">
                      <label for="autocomplete-input">Autocomplete</label>
                    </div>
                  </div>
                </div>
            </div>
          `);
     
            }
          }

  2. #2
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut
    Je viens de trouver la solution :

    Il s'agissait vraisemblablement d'une erreur de DOM. Pour contourner ce problème il s'agit de faire un second ("$el").html(), qui écrit dans la div voulue.

    Voila

    Bon après midi

    Sylvain

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/01/2016, 08h53
  2. Réponses: 13
    Dernier message: 13/09/2014, 14h59
  3. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58
  5. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 18h55

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