如何使用JQuery/Javascript检查选择框是否为空

AGE*_*AGE 29 html javascript jquery jquery-mobile jquery-selectbox

使用JQuery Mobile我有一个从数据库动态填充的选择框.截至目前,此复选框的人口正在完美运行.我添加了一个功能,其中包含一个通过"点击"事件调用功能的按钮.此功能的作用是知道是否已填充此特定复选框; 如果它没有那么它根本不会做任何事情,但否则它会顺利运行.我的问题是确定这个选择框是否为空.

这是我正在处理的一个非常简单的例子:

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

我的函数,从一个单独的按钮调用,如下所示:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

不要担心这是做什么以及如何做到这一点.现在重要的是我无法检查复选框是否为空,我只是不确定如何去做.我通过论坛和文档阅读了很多内容,但这样做有很多含义,因为它取决于实现本身.

例如,使用document.getElementById(...)...不一定会返回false,这取决于你如何使用它.$("#someID")...在jQuery中使用可能会也可能不会产生所需的结果.我已经尝试了许多不同的时间,你可以在注释行中看到,所有这些都可以在if(...)语句中进行评估.

您对如何实现这一目标有什么建议或想法吗?提前致谢!

Eng*_*eer 80

要检查选择框是否包含任何值:

if( $('#fruit_name').has('option').length > 0 ) {
Run Code Online (Sandbox Code Playgroud)

要检查所选值是否为空:

if( !$('#fruit_name').val() ) { 
Run Code Online (Sandbox Code Playgroud)


Cla*_*edi 12

获得选定值的一种正确方法是

var selected_value = $('#fruit_name').val()
Run Code Online (Sandbox Code Playgroud)

然后你应该这样做

if(selected_value) { ... }
Run Code Online (Sandbox Code Playgroud)