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

jQuery Discussion :

Utiliser array multidim. de php dans jQuery autocomplete


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut Utiliser array multidim. de php dans jQuery autocomplete
    Bonjour,
    Autocomplete est vraiment classe,
    (https://code.jquery.com/ui/1.12.1/jquery-ui.js">)

    aussi je cherche à l'utiliser avec un array provenant de php et encodé avec json_encode

    L'array se nomme : array_users

    En php il apparait, comme cela :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array ( 
    [1] => Array ( [id_user] => 1 [pseudo_user] => Manseng [mail_user] => <a href="mailto:manseng@free.fr">manseng@free.fr</a>) 
    [2] => Array ( [id_user] => 2 [pseudo_user] => dédé [mail_user] => dédé@free.fr ) 
    )

    Après json_encode il apparait comme ceci : (dans la console)
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {}1: Object { id_user: "1", pseudo_user: "Manseng.", mail_user: "mans@free.fr" }
    2: Object { id_user: "2", pseudo_user: "dédé", mail_user: "dédé@free.fr" }

    Je souhaiterais pouvoir faire l'autocompletion sur : pseudo_user (donc array_users[1] ?)
    (et recevoir l'id_user dans un autre champ)

    La fonction étant :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $( "#input_users).autocomplete({
      source: array_users
    });
    L'input étant :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="input_users" type="text">

    Quelqu'un aurait-il une idée ?


    Ps: j'ai fait des tests avec :
    Code js : 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
    var array_users = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran"
    ];
    $( "#users" ).autocomplete({
      source: array_users
    });

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Après quelques recherches et test
    voici ce que j'ai trouvé:
    A la création de l'array php
    il faut utiliser un index nommé 'label': (je voulais garder le terme provenant de MySql: "pseudo_user", mais apparemment ca ne marche qu'avec le mot 'label')
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     $array_users[] = array('label' => $results['pseudo_user'], 'id_user' => $results['id_user']);
    Puis on peut l'utiliser : (Apres json_encode)
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $("#input_users").autocomplete({
        source:array_users,
        select: function(event, ui) {
            event.preventDefault();
            $("#autocomp_frns").val(ui.item.label);
            $("#autocomp_frns_id").val(ui.item.id_user);
        }
    });
    Là on envoi dans un autre input l'id_user (ca peut servir):
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#autocomp_frns_id").val(ui.item.id_user);
    [I]

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Oups!
    Suite à tout ca,
    les tooltips ne fonctionnent plus


    A la base il y a ca:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <!-- Bootstrap core JavaScript-->
        <script src="vendor/jquery/jquery.min.js"></script>
        <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
        <script src="vendor/jquery-easing/jquery.easing.min.js"></script>

    Pour autocomplete, j'ai ajouté ca:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

    N'y aurait-il pas conflit entre les jquery ?

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 451
    Points : 4 975
    Points
    4 975
    Par défaut
    Salut,

    Pour les tooltips il faut charger jQuery une seule fois et pas plusieurs, sinon ça marche pas.


    L'auto-complétion de jQuery nécessite 2 items dans le tableau, c'est label et id, donc remplace id_user par id.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    array('label' => $results['pseudo_user'], 'id' => $results['id_user']);

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Ok,
    il faut charger jQuery une seule fois
    A la base, j'ai
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="vendor/jquery-easing/jquery.easing.min.js"></script>
    et pour l'autocomplétion, j'ai ajouté:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    Lequel contient les tooltips et l'autocomplétion ?

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 451
    Points : 4 975
    Points
    4 975
    Par défaut
    tu as déjà chargé jQuery ici :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="vendor/jquery/jquery.min.js"></script>

    Donc pas la peine de le recharger ici :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>

    Tes importations doivent être comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
    <script src="vendor/jquery-easing/jquery.easing.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Ok,
    Donc pas la peine de le recharger ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    Ok
    Par contre d'après ce que je vois,
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    Bloque les tooltips,

  8. #8
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 451
    Points : 4 975
    Points
    4 975
    Par défaut
    Je viens de remarquer que tu n'as pas chargé bootstrap.js (sans oublier bien sûr les fichiers css correspondants ...)

    Et en mettant jQuery.ui avant bootstrap? toujours le même problème ?
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script><!-- jQuery.ui avant bootstrap.min.js -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script><!-- Latest compiled bootstrap 4 JavaScript -->
    <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
    <script src="vendor/jquery-easing/jquery.easing.min.js"></script>

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Ok,
    Merci super
    ca gère bien et les tooltips et les ui autocompletion.

    Par contre il faut cliquer 2 fois pour ouvrir les liens dropdown-toggle
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a class="nav-link dropdown-toggle mr-lg-2" id="messagesDropdown" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      <i class="fa fa-fw fa-envelope"></i> 
    </a>
    Étonnamment, en enlevant
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script><!-- Latest compiled bootstrap 4 JavaScript -->
    Tout fonctionne
    Pour info, je suis sur startbootstrap-sb-admin-gh-pages.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par feelwatt Voir le message
    ...Étonnamment, en enlevant...
    Il faut vraiment que tu lises la doc : Bootstrap Contents

    • bootstrap.bundle(.min).js INCLUS DEJA bootstrap(.min).js, AINSI QUE popper.js. ("bundle" signifie "paquet", "lot")

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Ok, jreaux62

    Merci

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

Discussions similaires

  1. problème d'utilisation d'image en PHP dans une bdd.
    Par BenGonGon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 14h17
  2. utilisation d'un serveur php dans une jsp
    Par yasinfo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/10/2008, 23h39
  3. Utilisation d'une variable php dans popup javascript
    Par cybernetique dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2008, 22h27
  4. Réponses: 7
    Dernier message: 05/01/2008, 20h37
  5. [XSLT] Utilisation de XML avec PHP dans le cadre d'un site
    Par nicolas66 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/11/2005, 23h39

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