2012-07-19 165 views
0

我正在使用jQuery UI自動完成插件,並且想要在沒有找到結果的情況下顯示一些文本。我已經看到了很多用遠程數據集實現這個功能的例子,但我將源設置爲本地JSON數組。這裏是我正在使用的代碼,它隱藏了所有不匹配所選值的行。我想隱藏的所有行,並顯示在文本框中「沒有發現條目」當用戶鍵入文本不匹配任何可用的標籤如果沒有結果,jQuery UI自動完成顯示

$("#archiveVendor").autocomplete({ 
    source: availableTags, 
    select: function(event, ui){ 
     var emptyRow = '<tr class="emptyArchive"><td class="approved_content">---</td><td>---</td><td>---</td><td class="payment_status">---</td></tr>'; 
     $('.archive_inner .emptyArchive').remove(); 
     $('.archive_inner tr').show().filter(function(index){ 
      var tds = $(this).children('td'); 
      if($(tds).length == 4){ 
       if($(tds[1]).text() == '---'){ 
        return false; 
       } 
       var title = $(tds[0]).attr('title'); 
       return title === ui.item.value ? false : true; 
      } 
     }).hide(); 

     if($('.archive_approved tr:visible').length == 1){ 
      $('.archive_approved tbody').append(emptyRow); 
     } 
     if($('.archive_denied tr:visible').length == 1){ 
      $('.archive_denied tbody').append(emptyRow); 
     } 
    } 
}); 
+0

顯示它在哪裏,在空白下拉?用戶不會選擇它嗎? – j08691 2012-07-19 23:34:58

+0

這就是問題所在,我不希望用戶選擇它,只需在下拉菜單中顯示文字 – Austin 2012-07-20 00:23:45

回答

0

的也許你可以比較ui.item.value與數組?

if(jQuery.inArray(ui.item.value, json_array) == -1) { add text to right field and hide() other fields } 
相關問題