jQuery自动完成搜索栏
我正在尝试设计一个自动完成搜索栏,一切都很好,除了我想插入一个新的功能,如果用户找不到任何结果,它将不显示任何搜索结果。我希望它显示在小部件本身中。我是说在自动完成窗口中 我应该使用任何事件吗?我不知道。非常感谢您的帮助 多谢各位 这是我的javascriptjQuery自动完成搜索栏,jquery,autocomplete,Jquery,Autocomplete,我正在尝试设计一个自动完成搜索栏,一切都很好,除了我想插入一个新的功能,如果用户找不到任何结果,它将不显示任何搜索结果。我希望它显示在小部件本身中。我是说在自动完成窗口中 我应该使用任何事件吗?我不知道。非常感谢您的帮助 多谢各位 这是我的javascript var SearchBar = (function($) { var search_data = function( request, response ) { $.ajax({ url: "/search.json",
var SearchBar = (function($) {
var search_data = function( request, response ) {
$.ajax({
url: "/search.json",
dataType: "json",
type: "GET",
data: {q: request.term },
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.label,
id: item.id
};
}));
}
});
};
$("#searchfield").autocomplete({
source: search_data,
minLength: 1
});
};
}) (jQuery);
我想你可以从这个例子中得到帮助:
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
var NoResultsLabel = "No Results";
$("#tags").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(availableTags, request.term);
if (!results.length) {
results = [NoResultsLabel];
}
response(results);
},
select: function (event, ui) {
if (ui.item.label === NoResultsLabel) {
event.preventDefault();
}
},
focus: function (event, ui) {
if (ui.item.label === NoResultsLabel) {
event.preventDefault();
}
}
});
});
我没有将数据存储在变量中。请看我编辑的问题。在这种情况下,我如何才能做到这一点?