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 :

$(multiselect).val()[0] retourne le nom de la valeur 0 d'un select, mais comment savoir si elle est cochée ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Par défaut $(multiselect).val()[0] retourne le nom de la valeur 0 d'un select, mais comment savoir si elle est cochée ?
    Bonjour, tout est dans le titre. Cette question ne vous prendra peut-être pas longtemps, mais je cherche depuis 30 minutes et rien ne fonctionne.

    $(multiselect).val()[0] retourne le nom de l'index 0, mais comment savoir si cette valeur est cochée ? à coup de isChecked et compagnie, j'ai tenté pas mal de syntaxes, mais je n'y arrive pas.

    J'ai besoin de cette valeur pour afficher/masquer des colones d'un tableau en html/php.

    Merci devance pour votre coup de main.

  2. #2
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Par défaut J'avance...
    ERREUR Je pensais avoir avancé, mais non

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    $(multiselect).val()[0] n'a pas de sens ! val() retourne une valeur, mais c'est toujours du texte.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    tabsel=[];
    $(multiselect+":selected").each( function() { tabsel.push( $(this).val(); })
     
    alert( tabesl[0] )
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Par défaut Merci
    Bonsoir SpaceFrog, merci pour ta tentative. Effectivement, j'ai bien eu l'idée de stocker les valeurs récupérer dans un tableau par la suite, cependant le problème reste le même, comment accéder aux valeurs ?

    J'ai retouché ton code rapidement pour ne faire que de l'affichage, et déjà, tout ce que le code suivant affiche est : "Undefined".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function shoW(){
      $("#hiddenColumns"+":selected").each(function(){
        alert($(this).val());
      });
    }

    Je travaille juste sur un select tout simple....

    Code html : 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
        <select selected="selected" id="hiddenColumns" class="menu" multiple="multiple">
        <option selected="selected" id="imgClass">Images</option>
        <option selected="selected" id="idClass">Identifiant</option>
        <option selected="selected" id="referenceClass">Référence</option>
        <option selected="selected" id="activeClass">Actif</option>
        <option selected="selected" id="nameClass">Nom</option>
        <option selected="selected" id="catPClass">Catégorie P.</option>
        <option selected="selected" id="catNPClass">Catégories N.P.</option>
        <option selected="selected" id="priceHTClass">Prix HT</option>
        <option selected="selected" id="priceTTCClass">Prix TTC</option>
        <option selected="selected" id="quantityClass">Quantité</option>
        <option selected="selected" id="weightClass">Poids</option>
        <option selected="selected" id="metaKeyWordsClass">Mots clés</option>
        <option selected="selected" id="descriptionClass">Description</option>
        <option selected="selected" id="resumeClass">Résumé</option>
        <option selected="selected" id="metaDescriptionClass">Meta Description</option>
    </select>


    Daniel, je sais bien que c'est du texte que j'affiche, c'était pour illustrer le fait que j'arrive à accéder au texte, mais pas au booléen.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tentative ???
    bref ...


    Plusieurs remarques sur ton code ...

    select suffit, pas besoin de mettre selected="selected"
    pas de selected sur la balise select, ce sont les option qui sont selected ...
    tes options n'ont pas de value ! Tu as de la chance que Jquery prenne par défaut le text() lorsque l'option n'as pas de value.
    l'id sur les option est inutile en principe les options n'acceptent pas les id ...

    Et dernier mais non des moindres to select a bien un id ... mais je me suis planté dans selecteur jquery, j'ai oublié un espace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $("#hiddenColumns:selected")
    récupère le select sélectionné, hors comme sus dit ce sont les options qui sont selected ...
    j'aurais du écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       $("#hiddenColumns option:selected")


    voici qui fonctionne:
    https://jsfiddle.net/9u3ht6d2/1/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Par défaut
    Salut SpaceFrog, ben, je me sets des id pour masquer mes colones et ça passe.... Bon après j'suis qu'un petit codeur du dimanche alors que tu m'as l'air d'avoir de la bouteille ^_^

    alors j'ai testé, (ton site à l'air génial, je connaissais pas, mais j'arrive pas à afficher le contenu de la console ?).
    Donc, en local en tout cas j'obtient la liste de toutes les valeurs sélectionnées.
    Mais ce que j'ai besoin c'est d'utiliser ces valeurs pour afficher ou masquer des colones.


    Code php : 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
    61
    62
    63
    64
    65
    66
    67
    68
    echo '<table align="center" padding="10cm">
    <tr id="menuBar" bgcolor="#CCFEE1">
    <th class="imgClass"  width ="5%"> Image </th>
    <th class="idClass" name="id_product"   width="1%">ID</th>
    <th class="referenceClass" width ="4%">Référence</th>
    <th class="activeClass" name="active" width="1%">Actif</th>
    <th class="nameClass" name="name"  width = "8%">Nom</th>
    <th class="catPClass"  width = "10%">Catégories Parentes</th>
    <th class="catNPClass"  width = "10%">Catégories Non Parentes</th>
    <th class="priceHTClass" name="price"  width = "2%">Prix HT</th>
    <th class="priceTTCClass" name="price"  width = "2%">Prix TTC</th>
    <th class="quantityClass" name="quantity" width= "2%">Q.</th>
    <th class="weightClass" name="weight" width="2%">Poids</th>
    <th class="metaKeyWordsClass" width ="3%" >Mots clés</th>
    <th class="descriptionClass" >Description</th>
    <th class="resumeClass">Résumé</th>
    <th class="metaDescriptionClass">Meta Description</th>
    </tr>';
    $count = 1;
    while($row = mysqli_fetch_array($result)) {
        extract($row);
        $smallImg = '../img/p/'.$idImage.'/'.$idImage.'-small_default.jpg ';
        $id = $id_product;
        $checked = ""; if ($active) $checked="checked"; //permet de modifier le html et de cocher la checkbox si le produit est actif
        $allCurrentId[] = $id;
     
     
     
        $color;
        if ($count%2) $color = "#CCFFFF"; else $color = "#F0FEFF";
        echo '<tr id='.-$id.' class="identifiant"  bgcolor='.$color.'>';
        echo '<td class="imgClass"> <img width="100%"  src='.$smallImg.' /></td>';
        echo '<td class="idClass" id="'.$id."-".ID_.'" onblur=updateDataBase(this.id,this.innerHTML,'.ID_.','.$lang.')>' . $id .    ' </td>';
        echo '<td type="hidden" class="referenceClass" contenteditable id="'.$id."_".REFERENCE_.'" onblur="updateDataBase(pid(this),this.innerHTML,'.REFERENCE_.','.$lang.')">' . $reference . '</td>';
        echo '<td class="activeClass" > 
            <input id="'.$id."-".ACTIVE_.'" class="activated" type="checkbox" onchange=updateDataBase(-this.parentElement.parentElement.id,this.checked,'.ACTIVE_.','.$lang.') '.$checked.'><br>
             </td>';
     
        echo '<td class="nameClass" contenteditable  id="'.$id."-".NAME_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.NAME_.','.$lang.')>' . $nameProduct . '</td>';
        //deleteCategoryParent('.$id.','.$this.value.')
        $idCatSelec = 0;
        echo '<td class="catPClass" ><select id="A'.$id."_".CATP_.'" name="catParentes" style="width: 100%" size=4 multiple="multiple" onchange="$idCatSelec = swapCategory(A'.$id."_".CATNP_.', A'.$id."_".CATP_.');updateDataBase(-this.parentElement.parentElement.id,$idCatSelec,'.CATP_.','.$lang.')">';
                foreach (getCategoriesParentes($id, $lang) as $key => $value) {            
                 echo "<option id=".$value["id_category"].">".$value["name"].'</option>';
            } 
        echo '</select></td>';
        echo '<td class="catNPClass" ><select id="A'.$id."_".CATNP_.'" name="catNonParentes" style="width: 100%" size=4 multiple="multiple" onchange="$idCatSelec = swapCategory(A'.$id."_".CATP_.', A'.$id."_".CATNP_.');updateDataBase(-this.parentElement.parentElement.id,$idCatSelec,'.CATNP_.','.$lang.')" >';
                foreach (getCategoriesNonParentes($id, $lang) as $key => $value) {            
                  echo "<option id=".$value["id_category"].">".$value["name"].'</option>';
            } 
        echo '</select></td>';
        echo '<td class="priceHTClass" contenteditable id="'.$id."_".PRICEHT_.'" onblur="updateDataBase(pid(this),this.innerHTML,'.PRICEHT_.','.$lang.');setPriceTTC(pid(this))">' . round($price, 2) . '</td>';
        echo '<td class="priceTTCClass" contenteditable id="'.$id."_".PRICETTC_.'" onblur="updateDataBase(pid(this),(this.innerHTML)*0.833333333,'.PRICEHT_.','.$lang.');setPriceHT(pid(this));">' . round($price*1.2, 2) . '</td>';
        echo '<td class="quantityClass"  contenteditable id="'.$id."_".QUANTITY_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.QUANTITY_.','.$lang.')>' . $quantity . '</td>';
        echo '<td class="weightClass"  contenteditable id="'.$id."_".WEIGHT_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.WEIGHT_.','.$lang.')>' . round($weight, 3) . '</td>';
        echo '<td class="metaKeyWordsClass"   >';
        echo '<input class="tags" id="'.$id."-".METAKEYWORDS_.'"  value="'.$meta_keywords.'"/>';
        echo '</td>';
        echo '<td class="descriptionClass" contenteditable  id="'.$id."-".DESCRIPTION_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.DESCRIPTION_.','.$lang.')>' . $description. '</td>';
        echo '<td class="resumeClass" contenteditable  id="'.$id."-".RESUME_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.RESUME_.','.$lang.')>' . $description_short. '</td>';
        echo '<td class="metaDescriptionClass" contenteditable  id="'.$id."-".METADESCRIPTION_.'" onblur=updateDataBase(pid(this),this.innerHTML,'.METADESCRIPTION_.','.$lang.')>' . $meta_description. '</td>';
        echo "</tr>";
     
        $count++;
     
    }
     
    echo "</table>";

Discussions similaires

  1. [POO] Comment retourner le nom d'un objet
    Par mkael29 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/09/2006, 06h47
  2. Méthode retournant le nom du fichier courant du Workspace
    Par couetbis dans le forum SWT/JFace
    Réponses: 14
    Dernier message: 20/07/2006, 11h05
  3. récupérer le nom d'une valeur d'un formulaire select
    Par kenny49 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 14/06/2006, 14h59
  4. Réponses: 10
    Dernier message: 04/03/2006, 22h34
  5. Réponses: 7
    Dernier message: 03/12/2004, 12h40

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