2016-01-20 63 views
0

我想显示所有数据,无论我输入什么。 例如:jquery autocomplete显示所有列表

data = ["aaa", "bbb", "ccc"]  
$("#tag_field").autocomplete({ 
    source: data 
}); 

当我输入 “d”,它表明了我的所有数据。只是显示我输入的所有数据。 我该怎么做?

+0

所以,如果你输入'了'你希望它进行过滤,只'aaa',但如果没有匹配,那么你想展示一切? – BenG

+0

不,如果我输入“a”显示所有数据,如果我输入“b”显示全部,我想它总是显示全部。因为数据是由AJAX过滤的。 –

回答

1

也许这可能是一个解决方案:

data = ["aaa", "bbb", "ccc"]; 
 
$("#tag_field").autocomplete({ 
 
    source: data, 
 
    response: function(event, ui) { 
 
    ui.content.splice(0,ui.content.length); 
 
    $.each(data,function(i,n){ 
 
     ui.content.push({label:n, value:n}); 
 
    }); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.0-beta.1/jquery-ui.js"></script> 
 
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0-beta.1/themes/smoothness/jquery-ui.css"> 
 
<input id="tag_field" type="text">

+0

这个工程非常好,但我想我甚至输入“a”它显示“aaa”,“bbb”,“ccc”,我希望它只是总是显示所有数据,因为数据是通过AJAX过滤的。 –

+0

好的,我编辑了我的问题,但我认为有更好的方法来处理您的尝试。您可以显示焦点列表或类似的列表,而不是使用自动填充。 – Nahuel