How do I check if no option is selected in a selec

2019-02-16 16:50发布

I am trying to see if an option was selected in a selectbox and if not, I want it to alert a string. I was referring to this link(Check if option is selected with jQuery, if not select a default), but its not working.

Here's my code:

<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');
}

I pretty much copied the linked answer, but it's still not working. What am I missing?

5条回答
干净又极端
2楼-- · 2019-02-16 17:06

perhaps because the first one is selected by default.

try using

if($('#language :selected').text() == ''){
   alert('no option is selected');
}
查看更多
▲ chillily
3楼-- · 2019-02-16 17:12
if ( $("#language option:selected").val() === "" )
{
    alert("No items selected");
}

or simply

if ( $("#language").val() === "" )
{
    alert("No items selected");
}
查看更多
神经病院院长
4楼-- · 2019-02-16 17:13

I solved the same issue using:

if ($('#mySelector option:selected').get().length>0) {
    //code
} else ...
查看更多
The star\"
5楼-- · 2019-02-16 17:16

Another way to go is:

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

Working example at: http://jsbin.com/eluki3/edit

查看更多
相关推荐>>
6楼-- · 2019-02-16 17:21

Have you put the jQuery code inside a

$(function() { });

?

It needs to be evaluated after the DOM is ready.

查看更多
登录 后发表回答