我做了一个 jQuery 自动完成搜索来搜索我的 CI 应用程序中的页面,返回的 JSON 数据包括 2 个元素,页面的“slug”和页面的“名称”,所以我使用“名称”显示在自动完成列表中,当有人选择结果或按回车键时,它会使用 slug 将他重定向到该页面:
$(function() {
$( "#search" ).autocomplete({
source: "index.php/pages/get_pages",
minLength: 2,
select: function(event, ui) {
$(event.target).val(ui.item.value);
window.location.href = "index.php/pages/" + ui.item.slug;
return false;
}
});
$("#search").keypress(function(e){
if (e.which == 13) {
window.location.href = "index.php/pages/no-results";
return false;
}
});
});
现在我添加了另一个选项,当有人键入关键字但没有找到结果然后他按回车键时,它应该转到带有 no-results 参数的“页面”。
此代码在除 Firefox 之外的所有浏览器上运行良好,在所有情况下都进入无结果页面。
仅当未找到结果并且用户输入随机页面名称然后按 Enter 时,我才需要它转到无结果页面。