【发布时间】:2011-06-16 17:17:57
【问题描述】:
我有两个使用jQuery UI Selectmenu script 设置样式的选择列表。该脚本隐藏了选择元素,并以输入元素作为 LI 写出它自己的 UL。
我正在尝试编写一些条件,以便如果用户从选择列表 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 sn-p。我不确定使用什么来让脚本监听菜单中的更改,因为 .change() 似乎仅适用于表单元素。现在我正在尝试使脚本输出警报以进行测试,但它不起作用。
$('#role-menu ul').change(function () {
if($('li',this).hasClass('ui-selectmenu-item-selected current')) {
alert('test');
}
});
有没有更好的方法让我这样做?提前致谢!
【问题讨论】:
标签: jquery jquery-ui jquery-selectors css-selectors