Comment vérifier si une boîte de sélection est vide en utilisant JQuery / Javascript

À l'aide de JQuery Mobile, j'ai une boîte de sélection qui est remplie dynamiquement d'une base de données. À partir de maintenant, la population de cette case à cocher fonctionne parfaitement. J'ai ajouté une fonctionnalité qui consiste en un bouton qui appelle une fonction via un événement 'on click'. Le travail de cette fonction est de savoir si cette case à cocher particulière a été peuplée ou non; Si ce n'est pas le cas, il ne fera rien, mais sinon il fonctionnera en douceur. Mon problème est de déterminer si cette boîte de sélection est vide ou non.

Voici un exemple très simplifié de ce dont je parle:

<li> <label for="fruit_name">Fruit</label> <select name="some_fruit" id="fruit_name" onclick="populate_box('fruit', this);"> </select> </li> 

Ma fonction, appelée à partir d'un bouton séparé, ressemble à ceci:

 function isSelextBoxEmpty(selectBoxId) { var selected_value = $('#fruit_name'); /* More options... still testing the proper way: var selected_value = $('#fruit_name').text; var selected_value = $('#fruit_name').value; var selected_value = $('#fruit_name').length; var selected_value = $('#fruit_name option:selected', this); var selected_value = document.getElementById('fruit_name'); var selected_value = document.getElementById('fruit_name').length; var selected_value = document.getElementById('fruit_name').value; var selected_value = document.getElementById('fruit_name').innerHTML; */ if(selected_value) { alert("NOT null, value: " + selected_value); //do something } else { alert("null, value: " + selected_value); //do something } } 

Ne vous inquiétez pas de ce que cela fait et de son fonctionnement. En ce moment, ce qui compte pour moi, c'est que je ne peux pas vérifier si la case à cocher est vide, je ne suis pas sûr de savoir comment s'y prendre. J'ai beaucoup lu par les forums et la documentation, mais il y a beaucoup d'implications pour ce faire car cela dépend de la mise en œuvre elle-même.

Par exemple, using document.getElementById(...)... ne sera pas nécessairement renvoyé faux et dépend de la façon dont vous l'utilisez. En utilisant également $("#someID")... en jQuery peut ou non produire les résultats souhaités. J'ai déjà essayé plusieurs fois comme vous pouvez le voir dans les lignes commentées , toutes pouvant être évaluées dans l'instruction if(...) .

Avez-vous des suggestions ou des idées sur la façon d'y parvenir? Merci d'avance!

Pour vérifier si la boîte de sélection a des valeurs:

 if( $('#fruit_name').has('option').length > 0 ) { 

Pour vérifier si la valeur sélectionnée est vide:

 if( !$('#fruit_name').val() ) { 

Une façon correcte d'obtenir la valeur sélectionnée serait

 var selected_value = $('#fruit_name').val() 

Et vous devriez faire

 if(selected_value) { ... } 

Une autre façon correcte d'obtenir la valeur sélectionnée utiliserait ce sélecteur:

 $("option[value="0"]:selected") 

Le meilleur pour toi!