2011-08-10 56 views
0

我在選擇標記和輸入文本框中有一些選項。一旦用戶在文本框中輸入內容,應該顯示相關的選項,其餘的需要隱藏。縮小從文本搜索使用jQuery的選擇選項

<select size="8" style="width:150;"> 
    <option value="something1">Apple</option> 
    <option value="something1">Banana</option> 
    <option value="something2">Mango</option> 
    <option value="something2">Orange</option> 
    <option value="something2">Papaya</option> 
    <option value="something3">Grape</option> 
    <option value="something3">Coco</option> 
    <option value="something3">Chocolate</option> 
</select> 
    <input type="text" > 

當我在文本框中,只有蘋果進入ap,木瓜應該是可見的。請讓我知道我是如何通過jQuery的做到這一點..

回答

5

演示:http://so.devilmaycode.it/narrow-down-the-select-options-from-text-search-using-jquery

 $(function() { 
       $('input.search').on('change', function() { 
        $(this).prev('select.term').find('option:not(:containsi(' + this.value + '))').hide(); 
       }).on('keyup', function() { 
        $(this).prev('select.term').find('option:containsi(' + this.value + ')').show().attr('selected', true); 
       }).extend($.expr[':'], { 
       'containsi' : function(elem, i, match, array) { 
        return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || '').toLowerCase()) >= 0; 
       } 
      }); 
     }); 
+0

嗨..工程....真棒..謝謝..一個小的增強..當我刪除字符,列表不回填..例如,'app'gives'apple',並且當我刪除p並寫入'ap'時,列表應該用'ap'返回oprions ...非常感謝前進.. –

+0

@維克拉姆P:我已經更新,以適應您的意見,有很好的編碼! ps:+1會非常感謝! ; P –

+0

你好,很抱歉復活/劫持這個,但任何想法如何讓這個工作與多選框? – harryg