在JQuery中检查列表框是否为空的安全方法是什么?

时间:2011-12-09 17:07:25

标签: jquery

在JQuery中检查列表框是否为空的安全方法是什么?备选问题,如何检查是否没有主动选择项目?

我试过了:

if(...  .val() != "null")

if(...  .val() != null)

当我在null上发现val()值时,在列表为空或没有选择任何内容时进行调试,但似乎无法正常工作。

4 个答案:

答案 0 :(得分:5)

检查<option>元素中是否有<select>个元素:

if ($('#my-select').children().length == 0) {
    alert('OH NO, there aren\'t any options to select!');
}

要查看<option>内的<select>是否已被选中(仅在选定的<option>元素具有value属性时才有效)

if (typeof($('select').children(':checked').val()) == 'undefined') {
    alert('No Option with a Value Selected');
} 

以下是演示:http://jsfiddle.net/sJdBJ/

一些文档:

答案 1 :(得分:1)

我通常使用纯JavaScript:

$('#select-id')[0].selectedIndex == -1;

请注意$('#select-id')[0]将jQuery对象转换回JavaScript对象。

答案 2 :(得分:1)

最好用

    $('select#myselect option').length;

    $(myselct).find('option').length;

得到长度

例如:

    var x = $(myselct).find('option').length;
    if (x > 0){'if listbox contains items}

答案 3 :(得分:0)

测试是否选择了任何项目。如果为true,则选择一个项目并显示所选的值。

if($("#Select").val() != null){
  alert($("#Select").val());
}

测试是否未选择任何项目。如果为true则没有选择项目

  if($("#Select").val() == null){
      alert("no items selected.);
    }