Điều gì hiệu quả hơn cho 'chức năng tìm kiếm trực tiếp'?Điều gì hiệu quả hơn? Tạo mỗi tr trong javascript hoặc trong php?
On KeyUp với một sự chậm trễ chút là một yêu cầu thực hiện, các hồ sơ trở lại trong json và tôi thêm những người trên theo cách này:
$.ajax({
type: "POST",
url: "/spares/search/getresults",
dataType: "json",
data: "val="+ searchval,
success: function(response){
if (response.error == false) {
$.each(response.result, function(index, value){
$(".choosCred").append("<tr class='productChoose'> <td class='hide'>"+ value.id +"</td> <td class='hide'>"+ prod_id +"</td> <td class='hide'>"+ article +"</td> <td>"+ value.cd_cred +"</td> <td >"+ value.name_org +"</td> <td >"+ value.quality +"</td> <td class='hide'>"+ article_description +"</td> <td>" + '<button type="button" id="add"class="btn-xs btn btn-info add">Add </button>' +"</td> </tr>");
});
}
}
});
Nhưng tôi có thể tạo ra các bảng đầy đủ trong php và sau đó thêm nó như này:
$.ajax({
type: "POST",
url: "/spares/search/getresults/",
data: "SearchTerm="+ searchValue,
success: function(response){
$(".products tbody").html(response).show();
}
});
LƯU Ý: Trong mã php tôi lặp qua mỗi kết quả và thêm một số giá trị vào nó, tôi tạo bảng đó vì tôi đã có vòng lặp for. Khi tôi nối nó thì nó nhanh như chớp. Khi tôi nối các bản ghi với javascript và lặp qua mỗi kết quả json thì nó sẽ chậm hơn.
Cách tốt nhất và nhịn ăn để làm điều đó là gì? Hoặc là có một thủ thuật để làm điều này?
Cách tiếp cận thứ hai sẽ làm cho trình duyệt của bạn bị treo nếu có số lượng bản ghi cao. – nikhil
Rõ ràng nó là tốt hơn để giảm trọng lượng phản ứng, do đó, làm như vậy trong javascript có ý nghĩa hơn – Yaakov
Trên keyup? Vậy nếu người dùng dán văn bản vào đầu vào bằng menu ngữ cảnh thì sao ?! Đừng quên để xử lý nó quá –