PDA

View Full Version : Ajax: Từ gợi ý.



s.code
08-05-2008, 09:04
Một số trang web tìm kiếm khi ta đang gõ từ khóa nó sổ 1 list từ khóa gần đúng cho ta lựa chọn.

Bác nào có đoạn code cho mình xin cái.

zoejoe
08-05-2008, 09:11
Theo mình đoán, thì cứ mỗi lần search 1 từ khóa, thì nó sẽ lưu vào csdl với số kết quả tìm được kèm theo. Khi ta search với 1 từ khóa nào đó, ta send ajax rồi nhận được 1 từ khóa hoàn chỉnh đã từ search và có các từ mở đầu giống như các từ ta vừa gõ vào kèm theo số kết quả tìm được :D (mp3.zing.vn cũng tương tự)

jiSh@n
08-05-2008, 09:21
Ajax Autocomplete ;)

s.code
08-05-2008, 09:35
http://cristian.nexcess.net/ajax/suggest/

Ơ Rê Ca.

bka
08-05-2008, 15:44
tham khảo cái này xem đúng với ý bạn không


<script>
function getSong()
{
key=document.getElementById("title").value;
//alert(key.length);
if (key.length<3 || key.indexOf(" ")!=-1)
{
if (key.length==0)
document.getElementById("result").innerHTML="Bạn hãy nhập từ khóa để tìm kiếm bài hát";
else
document.getElementById("result").innerHTML="Bạn phải nhập ít nhất 3 chữ cái";
return false;
}

if (key.charAt(key.length-1)==" " || key.charAt(0)==" ")
return false;

if (window.ActiveXOject)
http=new ActiveXOject("Microsoft.XMLHTTP");
else
http=new XMLHttpRequest();
http.onreadystatechange=function()
{
if (http.readyState==4)
if (http.status==200)
{
s=http.responseText; /****** Biến s chưa qua xử lý ******/
if (s.length>70)
document.getElementById("result").innerHTML=s;
}
}
http.open("GET","search.php?q="+key,true);
http.send(null);
}

</script>

<form name=find>
<input type=text id="title" style="width: 200" onchange="getSong();" onkeyup="key=encodeURI(this.value); getSong();">

</form>

<div id="result"> du lieu tra ve </div>

khuongcong
08-05-2008, 16:05
Ở cuốn ebook AJAX and PHP Building Responsive Web Applications, Chapter 6: AJAX Suggest and Autocomplete có nói rất rõ về vấn đề này, bạn tìm hiểu nhé!