views:

149

answers:

4

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(http://stackoverflow.com/questions/149573/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?

A: 
if ( $("#language option:selected").val() === "" )
{
    alert("No items selected");
}

or simply

if ( $("#language").val() === "" )
{
    alert("No items selected");
}
rahul
+4  A: 

Another way to go is:

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

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

Erik
Thank you very much!
zeckdude
A: 

perhaps because the first one is selected by default.

try using

if($('#language :selected').text() == ''){
   alert('no option is selected');
}
Josh
A: 

Have you put the jQuery code inside a

$(function() { });

?

It needs to be evaluated after the DOM is ready.

Ed Woodcock