Подтвердить что ты не робот

Как проверить, является ли поле выбора пустым, используя JQuery/Javascript

Использование JQuery Mobile У меня есть поле выбора, которое динамически заполняется из базы данных. На данный момент население этого флажка работает безупречно. Я добавил функциональность, состоящую из кнопки, которая вызывает функцию через событие "on click". Задача этой функции состоит в том, чтобы знать, был ли заполнен этот конкретный флажок или нет; если нет, то он просто ничего не сделает, но в противном случае он будет работать гладко. Моя проблема заключается в том, является ли это поле выбора пустым или нет.

Вот очень упрощенный пример того, что я имею в виду:

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

Моя функция, вызываемая с отдельной кнопки, выглядит так:

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
    }
}

Не беспокойтесь о том, что это делает и как оно это делает. Сейчас для меня важно, что я не могу проверить, пуст ли флажок, я просто не уверен, как это сделать. Я много читал через форумы и документацию, но есть много последствий для этого, поскольку это зависит от самой реализации.

Например, использование document.getElementById(...)... не обязательно возвращает false, и это зависит от того, как вы его используете. Также использование $("#someID")... в jQuery может или не может дать желаемые результаты. Я уже пробовал много раз, как вы можете видеть в комментариях, все из которых могут быть оценены в инструкции if(...).

Есть ли у вас какие-либо предложения или идеи о том, как это сделать? Спасибо заранее!

4b9b3361

Ответ 1

Чтобы проверить, имеют ли поле выбора какие-либо значения:

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

Чтобы проверить, пустое ли выбранное значение:

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

Ответ 2

Один правильный способ получить выбранное значение будет

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

И тогда вы должны сделать

if(selected_value) { ... }

Ответ 3

Другой правильный способ получить выбранное значение будет использовать этот селектор:

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

Лучший для вас!