2012-07-19 121 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 } 
相关问题