bonjour,
j'ai une page qui contient une quarantaine de liste déroulantes, ce sont des "slots" de sélection de rendez-vous.
pour aider l'utilisateur à l'utiliser, je souahite mettre en vert (soit le texte, soit le background), l'option de la liste quand elle n'est pas sélectionnée encore.
voici un exemple de liste dans ma page html :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <select class="custom-select ew-custom-select" data-table="etudiants_groupe" data-field="x_etu_grp1_id" data-value-separator=", " id="x4_etu_grp1_id" name="x4_etu_grp1_id" style="font-size: 9px;"> <option value="">Choisir...</option> <option value="1">NC</option> <option value="94">ART</option> <option value="140">car spéciaux/toto l'été</option> <option value="151">cours individuels</option> <option value="95">geek</option> </select>
Les listes non-sélectionnées affichent donc par défaut "Choisir..." car c'est la première dans la liste des options (pour autant, la propriété attribut selected n'est pas placée dans le code html)
j'ai tenté ce code mais je ne comprends pas pourquoi il ne fonctionne pas alors que je "collecte" tous les élements de type SELECT et fait le test :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $("select").each(function() { if ($(this).text()=="") $(this).css("color", "red"); });
bizarrement aucune liste ne passe en rouge!
juste avant, j'utilise le même code pour réduire la taille de la police et ça marche bien, donc le selector est ok pour traiter "toutes les listes" et leurs options :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part $("select").each(function() { $(this).css("font-size", "9px"); });
qu'est-ce qui ne va pas dans ma condition if ($(this).text()=="") ?
Partager