如何为每个选项显示带有jQuery UI selectmenu的工具提示?

时间:2014-07-23 22:31:14

标签: jquery jquery-ui tooltip jquery-ui-tooltip jquery-ui-selectmenu

当我将鼠标悬停在selectmenu中的选项时,我想显示自定义工具提示。 我可以用普通按钮显示它。例如:

<button id="helpbutton1" title="text in title">Help</button>

$( "#helpbutton1" )
    .button({
        })  
    .tooltip({ 
        content: returnHelpbutton1Content()                     
    });

但是我不能让它与selectmenu一起工作。当我将鼠标悬停在菜单中的不同选项上时,我希望能够看到每个选项的工具提示。例如:

<label for="SelectMenu">Selectmenu example:</label>
    <select name="SelectMenu" id="SelectMenu">
        <option id="option1" title="Tooltip1">option1</option>
        <option id="option2" title="Tooltip2">option2</option>
    </select>

$( "#SelectMenu" ).selectmenu({ 
            width : 100,
            select: function( event, data ) {                   
                console.log("data.item.value: " + this.value);  
            }               
        });

$( "#option1" ).tooltip({ 
    content: returnTooltip1()                   
    });

$( "#option2" ).tooltip({ 
    content: returnTooltip2()                   
    }); 

我使用jqueryUI 1.11.0。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

jquery-ui selectmenu上的jquery ui工具提示的

DEMO

JS代码:

 $(function() {
 var select_id = "speed";
 $( "#"+select_id ).selectmenu({
     open: function( event, ui ) {
         $('li.ui-menu-item').tooltip({
             items:'li',
             //content: "adsdads ad asdadad asd ad adoption"
             content:function(){
                 //console.log($(this).html());
                 return ($(this).html());
             }
         });
     }
 });

 $( "#"+select_id+"-button").tooltip({items: "span", content: 'This is select'});

答案 1 :(得分:0)

Rahul的解决方案适用于页面中所有选择菜单。这是一个更简单的解决方案,它不会绑定到“open”事件,并且可以应用于任何特定的选择菜单(假设此对象存在且已经初始化为selectmenu):

$('#myselectbox').selectmenu( "menuWidget" ).tooltip({
    items:'li',
    content: function() {
        return ($(this).html());
    }
});