2011-06-16 94 views
1

我有两个正在使用jQuery UI Selectmenu script进行样式设置的选择列表。该脚本隐藏了选择元素,并将输入元素作为LI写出自己的UL。如何根据父级选择列表筛选子选择列表

我试图写一些条件,以使得如果用户选择从选择列表中1的元件,它隐藏从选择列表2。这里一些元件正被从脚本萤火虫复制动态生成的HTML:

<ul id="role-menu" aria-labelledby="role-button" role="listbox" aria-hidden="true" class="ui-selectmenu-menu ui-widget ui-widget-content ui-corner-bottom form-select ui-selectmenu-menu-dropdown"> 

    <li role="presentation" class="ui-selectmenu-item-selected current"> 
    <a aria-selected="true" role="option" tabindex="-1" href="#" id="ui-selectmenu-item-343" name="ui-selectmenu-item-343">Current</a> 
    </li> 

    <li role="presentation" class="past"> 
    <a aria-selected="false" role="option" tabindex="-1" href="#">Past</a> 
    </li> 

这是我试图使工作的jQuery代码片段。我不知道该如何使用脚本监听菜单中的更改,因为.change()似乎只适用于表单元素。现在我试图让脚本输出一个测试警报,但它不起作用。

$('#role-menu ul').change(function() { 

    if($('li',this).hasClass('ui-selectmenu-item-selected current')) { 
     alert('test'); 
    } 
    }); 

有没有更好的办法,我可以这样做?提前致谢!

回答

0

好吧,如果我理解正确的话,你希望与具有当你在这种情况下选择的变化,您可以添加类似的一类特殊的LI工作:

var liCurrent = $('li.current', $(this)) 

返回jQuery对象选择

0

通过检出你的代码我会问几个问题 你的UL角色菜单如何改变?你的行为是什么?你在列表中点击李?在这种情况下,您可以关联LI的单击事件。换句话说,你究竟想达到什么目的?我相信,如果你解释一下你的情况会好一些,你会失去答案。

+0

@FrenchilnaLa:是的,您点击