2012-07-24 57 views
0

以下代碼完美適用於livesearch的Html select。但是如果我有多個選擇列表,並且希望能夠選擇一些項目,然後搜索關鍵字但不會丟失先前選擇的項目。jquery livesearch(過濾器)保留所選項目

任何想法?

<script type="text/javascript"> 
    $(function() { 
     var opts = $('#optlist option').map(function(){ 
      return [[this.value, $(this).text()]]; 
     }); 

     $('#someinput').keyup(function(){ 
      var rxp = new RegExp($('#someinput').val(), 'i'); 
      var optlist = $('#optlist').empty(); 
      opts.each(function(){ 
       if (rxp.test(this[1])) { 
        optlist.append($('<option/>').attr('value', this[0]).text(this[1])); 
       } 
      }); 
     }); 
    }); 
</script> 

<input id="someinput"><br> 

<select id="optlist" multiple="multiple"> 
    <option value="1">foo</option> 
    <option value="2">bar</option> 
    <option value="3">foobar</option> 
    <option value="4">foobarbaz</option> 
</select> 
+0

不能選擇與'顯示被隱藏:none'而不是從列表中選擇實際刪除? **編輯:**沒關係,我猜他們不能:/ – mellamokb 2012-07-24 12:39:24

+0

我應該在哪裏插入? – NiCU 2012-07-24 12:43:22

回答

1

我只是找到了一個不錯的替代 here

+0

看起來真不錯。 – Christoph 2012-07-24 15:15:52