Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery-Select list option hover

Tags:

jquery

I want to alert an option when the mouse-cursor is over it. I use this code:

$("select > option").hover(function ()
    { 
        alert($(this).attr("id"));
    });

Unfortunately, this is neither working in IE nor in FF.

Can someone give me a hint please?

like image 345
enne87 Avatar asked Feb 04 '12 19:02

enne87


3 Answers

You can try this.

$("select").hover(function (e)
{
     var $target = $(e.target); 
     if($target.is('option')){
         alert($target.attr("id"));//Will alert id if it has id attribute
         alert($target.text());//Will alert the text of the option
         alert($target.val());//Will alert the value of the option
     }
});
like image 141
ShankarSangoli Avatar answered Nov 15 '22 21:11

ShankarSangoli


If you make a "listbox" type select box by adding a "size=x" attribute like this:

<select size="3">
   <option>...</option>
   <option>...</option>
</select>

The hover event will work on the option elements:

$('option').hover(function(){
     //code here
});
like image 20
A_funs Avatar answered Nov 15 '22 19:11

A_funs


Here's a workaround (quite decent I guess)-

  • Use mouseover event to set the size of the select box equal to the no. of its children
  • Use mouseenter event to get the options. mouseenter works on options perfectly when size attribute is there (we all know that now)
  • Use mouseout event to set the size of the select box back to 1, to get our normal select box back :)

JSFiddle

like image 31
Sahil Mittal Avatar answered Nov 15 '22 20:11

Sahil Mittal