gpt4 book ai didi

php - 使用 DOJO 自动完成文本框

转载 作者:可可西里 更新时间:2023-10-31 22:47:18 25 4
gpt4 key购买 nike

我正在寻找一种使用 DOJO 进行文本框自动提示的简单方法。我要查询的数据库表(使用 PHP 脚本,以 JSON 形式返回)有超过 100,000 条记录,所以这真的不应该采用 FilteringSelect 或 ComboBox 的形式,因为我显然不希望用户单击向下箭头返回整个数据集。

JQuery 和 YUI 等其他库使它变得非常简单,但这个特别的项目是基于 DOJO 的,我不愿意引入另一个 JS 类。

最佳答案

成功了!

即使我查询的是 100,000 条记录。返回速度低于 30 毫秒。我什至将数据库大小增加到 500,000 条记录,自动建议速度非常可以接受(仍低于 120 毫秒)。我确信在 PHP 端使用一点缓存可以做得更好。

我最终使用了 QueryReadStoreFilteringSelectJsonRestStore 可能会奏效,但我从 dojo 站点找到了一个简单的工作示例并以此为基础构建。

下面是一个自动提示文本框的有效 DOJO 代码,它可以访问非常大的数据集 - 简短而贴心:

            var vendorStore = new dojox.data.QueryReadStore({
url: "../vms/htdocs/ajax/search.php"
});

var vendorSelect = new dijit.form.FilteringSelect({
name: "vendorSelection",
store: vendorStore,
autoComplete: false,
required: true,
labelType: "text",
placeHolder: "Search vendors",
pageSize: 20,
hasDownArrow: false,
style: "width: 175px;",
searchAttr: "company_name",
id: "vendorSelect"
},
"vendorSelection");

vendorSelect.startup();

当然要坚持<select id="vendorSelection"></select>页面正文中的某处。效果很好。

再次感谢!

关于php - 使用 DOJO 自动完成文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871110/

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