Вопрос по html, jquery-mobile, jquery-selectbox, jquery, javascript – Как проверить, является ли поле выбора пустым, используя JQuery / Javascript

26

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

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

<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 может или не может дать желаемых результатов. Я уже пробовал много разных времен, как вы можете видеть вcommented linesвсе из которых могут быть оценены вif(...) заявление.

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

Ваш Ответ

3   ответа
2

от селектор:

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

Лучшее для тебя!

11

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

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

if(selected_value) { ... }
70

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

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

if( !$('#fruit_name').val() ) { 
Я наградил вас ответом, потому что вы поняли его прямо перед Клаудио, но на самом деле Клаудио также понял это правильно всего через несколько секунд после того, как вы ... СПАСИБО вам обоим! Я хотел бы разделить награду. AGE
Последний код не является правильным. Фактически, если вы попробуете это с полем выбора, вы получите null в качестве val (), но @if (! $ (& Apos; # fruit_name & apos;). Val ()) @ возвращает TRUE.
Ну, я пытаюсь убрать мое отрицательное голосование, потому что это правильно, но переполнение стека не даст мне. Довольно хромая. Извините за понижение, это должно быть вознесение.

Похожие вопросы