我正在使用 jquery UI 自动完成在列表中给出项目名称建议。我提供了一个项目名称列表作为 php 文件中的 json 数组,如下所示。
function getProjectList($projectList) {
foreach ($projectList as $project) {
$jsonArray[] = array('name' => $project['projectName'], 'id' => $project['projectId']);
}
$jsonString = json_encode($jsonArray);
return $jsonString;
}
我将整个项目名称列表添加到一个 javascript 变量中。
var projectsForAutoComplete=<?php echo $timesheetForm->getProjectListAsJson(); ?>;
这个项目列表有超过 10000 个项目,我有 20 个项目名称文本框,它们应该提供自动建议。因此,当我尝试在加载时按以下方式执行此操作时,由于 js 的更高进程,页面需要 30 秒才能加载。
$(".project").autocomplete(projectsForAutoComplete, {
formatItem: function(item) {
var temp = $("<div/>").html(item.name).text();
return temp.replace("##", "");
}
,
matchContains:true
})
所以我需要在按键事件中加载自动建议,就像 Jquery 文档中的演示一样。http://jqueryui.com/demos/autocomplete/#remote-jsonp
但是该示例显示了如何使用远程 json 源来执行此操作。我可以对本地 json 数组做同样的事情吗?可能吗。有人可以帮我解决这个问题。