我有两个选择列表,使用jQuery UI Selectmenu script进行样式设置。该脚本隐藏了选择元素并写出了自己的UL,输入元素为LI。
我正在尝试编写一些条件,以便如果用户从选择列表1中选择一个元素,它会隐藏选择列表2中的一些元素。以下是从Firebug复制的脚本动态生成的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 :(得分:0)
通过查看您的代码,我会问几个问题 您的UL角色菜单如何变化?你有什么行动?你在列表中点击了LI吗?在这种情况下,您可以关联LI的click事件。换句话说,你究竟想要实现什么?我敢肯定,如果你解释一下你的情况会更好,你就会得不到答案。
答案 1 :(得分:0)
好的,如果我理解你正确的话,你想在你选择更改的情况下使用具有特殊类的LI,你可以添加如下内容:
var liCurrent = $('li.current', $(this))
返回李选择的jquery对象