2011-06-16 111 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:是的,您點擊