11

我正在尝试查看是否在选择框中选择了一个选项,如果没有,我希望它提醒一个字符串。我指的是这个链接(检查是否使用 jQuery 选择了选项,如果没有选择默认值),但它不起作用。

这是我的代码:

<select id="language" name="language">
  <option value=""></option>
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

if(!$("#language option:selected").length) {
  alert('no option is selected');
}

我几乎复制了链接的答案,但它仍然无法正常工作。我错过了什么?

4

5 回答 5

18

另一种方法是:

  if($("#language").attr("selectedIndex") == 0) {
    alert("You haven't selected anything!");
   }

工作示例:http: //jsbin.com/eluki3/edit

于 2010-03-05T10:27:00.410 回答
8

可能是因为默认选择了第一个。

尝试使用

if($('#language :selected').text() == ''){
   alert('no option is selected');
}
于 2010-03-05T10:28:29.553 回答
4
if ( $("#language option:selected").val() === "" )
{
    alert("No items selected");
}

或者干脆

if ( $("#language").val() === "" )
{
    alert("No items selected");
}
于 2010-03-05T10:24:45.787 回答
1

我使用以下方法解决了同样的问题:

if ($('#mySelector option:selected').get().length>0) {
    //code
} else ...
于 2017-03-27T18:02:06.053 回答
0

你有没有把 jQuery 代码放在一个

$(function() { });

?

它需要在 DOM 准备好后进行评估。

于 2010-03-05T10:29:14.903 回答