gpt4 book ai didi

Firefox 中的 jQuery 自动完成输入按键操作无法正常工作

转载 作者:行者123 更新时间:2023-12-01 01:26:06 25 4
gpt4 key购买 nike

我做了一个 jQuery 自动完成搜索来搜索 CI 应用程序中的页面,返回的 JSON 数据包括 2 个元素,页面的“slug”和页面的“名称”,所以我使用“名称”来显示自动完成列表,当有人选择结果或按 Enter 键时,它会使用 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;
}
});
});

现在我添加了另一个选项,当有人输入关键字但没有找到结果时,他按 Enter 键应该转到没有结果参数的“页面”。

此代码在除 Firefox 之外的所有浏览器上运行良好,在所有情况下都会进入无结果页面。

仅当未找到结果并且用户输入随机页面名称然后按 Enter 键时,我才需要它转到无结果页面。

最佳答案

我认为这是关于转发问题。当您按下“Enter”按钮时,按键和自动完成选择的功能都会被调用。我们应该插入一个 if 逻辑,以便只执行其中一个。

顺便说一句,我认为在服务器端进行转发操作是非常合乎逻辑的。

$(function() {
var isSelected = false;
$("#search" ).autocomplete({
source: "index.php/pages/get_pages",
minLength: 2,
select: function(event, ui) {
isSelected = true;
$(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) {
if(!isSelected)
{
window.location.href = "index.php/pages/no-results";
}
return false;
}
});
});

关于Firefox 中的 jQuery 自动完成输入按键操作无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13508166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com