2013-06-18 388 views
0

我有一個選擇菜單,其中每個選項的文本都以關鍵字開始(即 - 「Nike Running Shoes」... Nike是關鍵字)。我想要第二個包含關鍵字列表的靜態選擇...然後能夠通過所選關鍵字過濾第二個列表選項。使用jquery過濾選擇選項

因此,如果用戶選擇關鍵字「Nike」,則第二個列表將被過濾爲僅包括以「Nike」開頭的測試選項。

這是我創建至今jQuery的...但它不工作

jQuery -> 
subjects = $('#subject_select').html() 
$('#keyword_select').change -> 
    keyword = $('#keyword_select :selected').text() 
    options = $(subjects).filter("option[text^='#{keyword}']").html() 

    if options 
     $('#subject_select').html(options) 
    else 
     $('#subject_select').empty() 

增加生產的「不確定」,「警報選項」。我需要的幫助是:

options = $(subjects).filter("option[text^='#{keyword}']").html() 

當處理兩個相關的模型時,這是一件容易的事。在我的情況下,他們沒有關聯(這就是爲什麼我使用靜態關鍵字)。

回答

3

編輯 -

這裏的工作小提琴:http://jsfiddle.net/WZYzd/

你有一對夫婦的問題,其中最大的是,option元素沒有一個text屬性,所以我改變了過濾器,像這樣:

options = $(subjects).filter(function() { 
    return $(this).text().indexOf(keyword) == 0; 
}); 
+0

與以前相同的結果。我也嘗試指定一個特定的現有關鍵字,不使用變量「關鍵字」...沒有骰子。 – hellion

+0

關鍵字更改後,主題選擇將變爲空白。所以,該功能正在工作......它只是不過濾。 – hellion

+0

增加了一個工作小提琴。 –

相關問題