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 :

auto complétion et boutons radio


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Par défaut auto complétion et boutons radio
    Bonjour ou bonsoir à tous,
    je viens solliciter votre aide une fois de plus

    j'ai un script de recherche en auto complétion avec un input type text et en plus des boutons type radio.

    Quand je commence à saisir des données dans l'input cela me renvoi les résultats dans une div et de plus si je choisis l'un des radio cela filtre suivant la value du radio, mais dans le cas de mon script je suis obligé de retourner dans l'input pour que le filtrage se fasse correctement.

    J'aimerai si c'est possible que le filtrage se fasse directement quand je clique sur le radio désiré une fois l'input saisi ou quand je renseigne l'input avec un radio déjà sélectionné.

    En fait que cela fonctionne dans un sens comme dans un autre. ( je sais pas si je suis très clair )

    Si l'un de vous veut bien m'aider merci par avance.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <script type="text/javascript"> 
    $(document).ready(function() {
     
      //à la modification du champs recherche
      $("#client").keyup(function(){
          var radio = $('input[type=radio][name=etat_cde]:checked').attr('value');
          var req=$(this).attr("value");
          //chargement ajax
        	$.ajax({
          type: "GET",
          url: "./index_box_recherche_rapide_client_ajax.php?grade=<?php echo $grade_grade;?>&lien=<?php echo $str;?>&etat_cde="+radio+"&req="+req,
          dataType : "html",
          //affichage de l'erreur en cas de problème
          error:function(msg, string){
          alert( "Error !: " + string );
          },
          success:function(data){
          //alert(data);
          $("#suggest").empty();
          $("#suggest").append(data);
          }});
      });
    })
    </script>
     
     
    <?php
     
    echo'
    &nbsp;&nbsp;ou Par Client : <input type="text" id="client">
    &nbsp;&nbsp;
    Tous <INPUT type= "radio" name="etat_cde"'; if (isset($_POST["etat_cde"])) { if ($_POST["etat_cde"] == "Tous") { echo "checked"; } } echo'  value="Tous">
    &nbsp;&nbsp;|&nbsp;&nbsp;
    &nbsp;&nbsp;
    En Plannification <INPUT type= "radio" name="etat_cde"'; if (isset($_POST["etat_cde"])) { if ($_POST["etat_cde"] == "Plannification") { echo "checked"; } } echo'  value="Plannification">
    &nbsp;&nbsp;|&nbsp;&nbsp;
    En Fabrication <INPUT type= "radio" name="etat_cde"'; if (isset($_POST["etat_cde"])) { if ($_POST["etat_cde"] == "Fabrication") { echo "checked"; } } echo' value="Fabrication">
    &nbsp;&nbsp;|&nbsp;&nbsp;
    En Partiel <INPUT type= "radio" name="etat_cde"'; if (isset($_POST["etat_cde"])) { if ($_POST["etat_cde"] == "Livraison-Partielle") { echo "checked"; } } echo' value="Livraison-Partielle">
    &nbsp;&nbsp;|&nbsp;&nbsp;
    En Livraison <INPUT type= "radio" name="etat_cde"'; if (isset($_POST["etat_cde"])) { if ($_POST["etat_cde"] == "Livraison-Complete") { echo "checked"; } } echo' value="Livraison-Complete">
    &nbsp;&nbsp;
    ';
     
    ?>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    as tu essayé de remettre le focus sur l'input une fois le radio coché?

    J'ai peut être mal saisie le soucis!

  3. #3
    Membre confirmé
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Par défaut
    il y a pas de réel soucis car cela fonctionne le but étant d'actualiser la liste ( les résultats ) une fois le radio coché ( si il y a déjà une saisie dans l'input )

    Non j'ai pas testé de redonner le focus dans l'input une fois le radio coché .

  4. #4
    Membre confirmé
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Par défaut
    j'ai donc testé avec le focus dans l'input

    j'ai adapté le code comme cela et ça fonctionne.... mais je sais pas si c'est bien propre

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
        <script type="text/javascript">
        function donneFocus(id)
        {
        var element = document.getElementById(id);
        element.focus();
        }
        </script>
     
     
    <script type="text/javascript">
     
    $(document).ready(function() {
     
      //à la modification du champs recherche
      $("#client").keyup(function(){
          var radio = $('input[type=radio][name=etat_cde]:checked').attr('value');
          var req=$(this).attr("value");
          //chargement ajax
        	$.ajax({
          type: "GET",
          url: "./index_box_recherche_rapide_client_ajax.php?grade=<?php echo $grade_grade;?>&lien=<?php echo $str;?>&etat_cde="+radio+"&req="+req,
          dataType : "html",
          //affichage de l'erreur en cas de problème
          error:function(msg, string){
          alert( "Error !: " + string );
          },
          success:function(data){
          //alert(data);
          $("#suggest").empty();
          $("#suggest").append(data);
          }});
      });
    })
     
     
    $(document).ready(function() {
     
      //à la modification du champs recherche
      $("#client").focus(function(){
          var radio = $('input[type=radio][name=etat_cde]:checked').attr('value');
          var req=$(this).attr("value");
          //chargement ajax
        	$.ajax({
          type: "GET",
          url: "./index_box_recherche_rapide_client_ajax.php?grade=<?php echo $grade_grade;?>&lien=<?php echo $str;?>&etat_cde="+radio+"&req="+req,
          dataType : "html",
          //affichage de l'erreur en cas de problème
          error:function(msg, string){
          alert( "Error !: " + string );
          },
          success:function(data){
          //alert(data);
          $("#suggest").empty();
          $("#suggest").append(data);
          }});
      });
    })
    </script>

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Comme tu utilises jQuery autant l'utiliser jusqu'au bout.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function donneFocus(id){
      $('#' +id).focus();
    }
    idem pour tes fonctions, tu peux factoriser en utilisant la méthode .on().
    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
    $("#client").on('keyup focus', function () {
      var radio = $('input[type=radio][name=etat_cde]:checked').attr('value');
      var req = $(this).attr("value");
      //chargement ajax
      $.ajax({
        type: "GET",
        url: "./index_box_recherche_rapide_client_ajax.php?grade=<?php echo $grade_grade;?>&lien=<?php echo $str;?>&etat_cde=" + radio + "&req=" + req,
        dataType: "html",
        //affichage de l'erreur en cas de problème
        error: function (msg, string) {
          alert("Error !: " + string);
        },
        success: function (data) {
          //alert(data);
          $("#suggest").empty();
          $("#suggest").append(data);
        }
      });
    });

  6. #6
    Membre confirmé
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Par défaut
    Réponse un peu tardive désolé

    Nikel et beaucoup plus simplifié en effet et plus propre surtout.

    Donc si j'ai bien compris la méthode .on() permet de cumuler dans plusieurs events.

    Merci pour ton aide

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

Discussions similaires

  1. direction auto. bouton radio apres suppression
    Par couse1 dans le forum JSF
    Réponses: 0
    Dernier message: 17/11/2011, 16h19
  2. recupérer la valeur d'un bouton radio
    Par ericmart dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/05/2008, 15h42
  3. apparition d'un chanp text au click d'un bouton radio
    Par Flobel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/11/2004, 09h34
  4. [CR]liste de boutons radio
    Par inesfonfon dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 16/09/2004, 09h04
  5. Problème de boutons radio
    Par BRAUKRIS dans le forum Composants
    Réponses: 3
    Dernier message: 03/06/2004, 02h41

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