gpt4 book ai didi

php - 使用 jQuery 和 CodeIgniter PHP MVC 自动完成

转载 作者:行者123 更新时间:2023-11-29 18:36:59 25 4
gpt4 key购买 nike

我正在尝试使用来自 this site 的 jQuery 插件自动完成功能构建自动完成功能.

现在,我设法使用作为文档就绪功能的一部分预加载到网站的本地结果来实现自动完成,这在本地非常容易。

这是我努力解决的问题,从 PHP 文件中提取结果。这是我的尝试:

$("#post_tags").autocomplete("http://localhost/tags/filter", {
width: 260,
selectFirst: false,
highlight: false,
multiple: true,
multipleSeparator: " ",
scroll: true,
formatItem: function (row, position, totalReturned, searchTerm){
return row[0];
},
formatResult: function(row, position, totalReturned){
return row[0].replace(/(<.+?>)/gi, '');
}
}).result(function(event, data, formatted){
$("<li>").html( !data ? "No match!" : "Selected: " + formatted)
.appendTo("#result");
});

当我手动转到 http://localhost/tags/filter/p 时,我得到结果 php,asp 因为它们包含字母 p。

我怎样才能使它与自动完成一起工作?我的意思是使用 native PHP 非常容易(请参阅 this file )。我只是像这样 search?q=p 将一些东西传递给搜索文件,然后我得到了结果。因为我使用的是 CodeIgniter,所以事情有点不同,我没有使用上面的 jQuery 代码检索任何结果。

最佳答案

在您的 jquery.autocomplete.js 文件中,大约在第 360 行(截至最新版本),添加一行以使该部分看起来像这样:

$.ajax({ 
type: "post", // This is the new line
// try to leverage ajaxQueue plugin to abort previous requests
mode: "abort",
// limit abortion to this input
port: "autocomplete" + input.name,

(如果您使用的是缩小版的自动完成插件,只需搜索 .ajax 并插入相应的行)。

此更改导致自动完成脚本现在将通过 POST 而不是 GET 发送表单数据。从 codeigniter 中访问它可以按如下方式完成:

public function filter()
{
$filter_by = $this->input->post('q');
}

您可以根据需要从中生成列表。我不确定是否有更好的方法来执行此操作(不需要您编辑源代码的方法),但它对我有用。

关于php - 使用 jQuery 和 CodeIgniter PHP MVC 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123130/

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