자동 완성 스크립트의 성능을 향상시켜야합니다. 필요한 것은 입력 상자 elementID를 클릭하면 search.php에서 선택 목록을 채울 것입니다. 반환 값은 json_encode
입니다. 다음 스크립트가 작동 중입니다. 그러나 입력 상자를 클릭 할 때마다 목록을 생성하는 데 시간이 걸립니다. search.php에서자동 완성 성능에 대한 조언
("#elementID")
.autocomplete({
source: function(request, response) {
$.ajax({
url: "search.php",
dataType: "json",
success: function(data){
response(data[0]);
}
});
},
minLength: 0,
delay: 0,
select: function(event, ui){
$(this).val(ui.item.value);
},
change: function(event, ui) { //remove if not click from drop down
if (!ui.item) {
$(this).val("");
}
}
})
.click(function() { //Click to activate
$("#elementID").autocomplete("search", " ");
});
$ocidb ->strTable = "table";
$ocidb ->strField = "column1";
$ocidb ->strCondition = "coulmn1 is not null";
$result = $ocidb->ORASelectRecord();
echo json_encode(filter_unique_array($result, 'coulmn1'));
return;
내가 제대로 일을하고 있거나 할 또 다른 적절한 방법이 있는지처럼 밖으로 찾는 방법은?
PHP 스크립트에서 몇 개의 레코드를 검색합니까? 페이지 매김을 사용해 보셨습니까? 클라이언트 및/또는 서버 측에서 캐시를 사용해 보셨습니까? – rkrdo
자동 완성에서 페이지 매김을 수행하는 방법은 무엇입니까? 거기에 좋은 예가 있습니까? – user1761160
페이지 매김은 서버 쪽 쿼리에서 [LIMIT {[offset,] row_count]를 사용하여 수행 할 수 있습니다. 캐시 DOM 요소를 추가하려면 http://jqueryui.com/autocomplete/#remote-with-cache 링크를 따라갈 수 있습니다. jqueryui를 사용하고있는 것 같습니다. – rkrdo