작동 중!
내가 쿼리하는 100,000 개의 레코드가 있더라도. 리턴 속도는 30ms 미만입니다. 나는 심지어 데이터베이스 크기를 50 만 건으로 늘렸고 자동 제안 속도는 매우 만족 스럽습니다 (여전히 120 밀리 초 미만). PHP 쪽에서 캐싱을 조금이라도 더 잘 수행 할 수 있다고 확신합니다.
QueryReadStore 및 FilteringSelect으로 끝났습니다. JsonRestStore은 아마도 효과가 있었지만 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();
페이지의 본문에 somwhere <select id="vendorSelection"></select>
스틱 : 짧은 을 달콤한 -
여기에 매우 큰 데이터 세트를 치는 자동 제안 텍스트 상자에 대한 도장 작업 코드입니다. 훌륭하게 작동합니다.
다시 한번 감사드립니다!
어떻게할지는 모르지만 Firebug를 사용하여 jQuery 또는 YUI 함수 호출에서 항상 함수 호출을 추적하고 어떻게 수행하는지 확인할 수 있습니다. – Nightfirecat