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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    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
    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 éclairé
    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
    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 éclairé
    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
    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 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    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 éclairé
    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
    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 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    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>

+ 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, 13h17
  2. utilisation d'un serveur php dans une jsp
    Par yasinfo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/10/2008, 22h39
  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, 21h27
  4. Réponses: 7
    Dernier message: 05/01/2008, 19h37
  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, 22h39

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