|
|
|
สอบถามเรื่อง ajax google api หน่อยครับ เป็นการ แสดง subjace ตอนพิมพ์ข้อความ ของ google ในช่อง textfield ของเว็บเรา |
|
|
|
|
|
|
|
คือ สือเนื่องจากกระทู้เก่าผมไม่มีคนตอบ ตอนนี้ผมทำมาได้แบบนี้แหล้ว
code : index.html เป็นหน้าเว็บที่เอาไว้ใช้ จะเชื่อมกับ google
<body>
<div id="inputs"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js" type="text/javascript"></script>
<script src="jquery.googleSuggest.js" type="text/javascript"></script>
<script>
$.each("web youtube recipe products news images books".split(" "), function(i, v){
var div = $("<div>").appendTo("#inputs")
, input = $("<input>").appendTo(div)
, span = $("<label>").text(v).appendTo(div);
input.googleSuggest({ service: v });
});
</script>
</body>
</html>
code : เอาไว้ให้ index ดึงไปใช้
Code (PHP)
/**@license
This file uses Google Suggest for jQuery plugin (licensed under GPLv3) by Haochi Chen ( http://ihaochi.com )
*/
$.fn.googleSuggest = function(opts){
opts = $.extend({service: 'web', secure: false}, opts);
var services = {
youtube: { client: 'youtube', ds: 'yt' },
books: { client: 'books', ds: 'bo' },
products: { client: 'products-cc', ds: 'sh' },
news: { client: 'news-cc', ds: 'n' },
images: { client: 'img', ds: 'i' },
web: { client: 'psy', ds: '' },
recipes: { client: 'psy', ds: 'r' }
}, service = services[opts.service];
opts.source = function(request, response){
$.ajax({
url: 'http'+(opts.secure?'s':'')+'://clients1.google.com/complete/search',
dataType: 'jsonp',
data: {
q: request.term,
nolabels: 't',
client: service.client,
ds: service.ds
},
success: function(data) {
response($.map(data[1], function(item){
return { value: $("<span>").html(item[0]).text() };
}));
}
});
};
return this.each(function(){
$(this).autocomplete(opts);
});
}
ส่วนคำถาม ผมไม่เข้าใจ jquery.googleSuggest.js ว่า ถ้าเกิดผมจะ เอาไปใช้ โดยให้ หน้า index
เป็น ตัวค้นหามีปุ่มด้วยแบบนี้ครับ
Code (PHP)
<form id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield" />
<input type="submit" name="Submit" id="Submit" value="ค้นหา" />
</form>
โดยมี Autocomplete หรือข้อความใกล้เคลียงที่เราพิมพ์ ติดมาด้วย หรือ แสดง Autocomplete ของ google ในช่อง textfield ของเว็บเรา ต้องทำไงครับ
Tag : PHP, JavaScript, Ajax, jQuery
|
ประวัติการแก้ไข 2012-12-08 21:44:21 2012-12-09 19:44:21
|
|
|
|
|
Date :
2012-12-08 11:33:34 |
By :
byeasy |
View :
1404 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูนะครับ ส่วนจะ action form ไปที่ไหนนั้น ไปคิดต่อเองน่ะครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css" type="text/css" rel="stylesheet"/>
<style>
input{font-size:1.3em;}
#log{position: absolute; top: 10px; right: 10px;}
span{color:blue; text-decoration: underline; cursor: pointer;}
</style>
</head>
<body>
<form action="" accept-charset="UTF-8" method="post" id="search-block-form">
ใส่คำค้นหา : <div id="inputs"></div>
</fom>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js" type="text/javascript"></script>
<script src="jquery.googleSuggest.js" type="text/javascript"></script>
<script>
//$.each("web youtube products news images books".split(" "), function(i, v){
$.each("web".split(" "), function(i, v){
var div = $("<div>").appendTo("#inputs")
, input = $("<input id='s' name='s'>").appendTo(div)
, span = $("<label>").text(v).appendTo(div);
input.googleSuggest({ service: v });
});
</script>
</body>
</html>
|
|
|
|
|
Date :
2012-12-08 14:52:21 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆครับ เท่านี้ก็ OK แล้วครับ
|
|
|
|
|
Date :
2012-12-08 21:34:19 |
By :
byeasy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . . . เอาไว้ถามต่ออีกกระทู้จะเป็นอีกเรื่องแล้วครับ
|
ประวัติการแก้ไข 2012-12-09 17:20:13 2012-12-09 19:42:11 2012-12-12 11:04:38
|
|
|
|
Date :
2012-12-09 17:17:41 |
By :
byeasy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|