[英]jQuery Autosuggest
我對jQuery很陌生 ,因此在這里需要一些幫助:我剛剛開始使用jQuery Autosuggest插件 ,因為我確實會對我的網站有所幫助。 我下載了所有文件,將它們鏈接到我的網站,並使用此文件將輸入設置為自動建議:
<script>
$(document).ready(function(){
$("#postna").autoSuggest("get.php");
})
</script>
現在這部分工作正常,它可以更改輸入框的樣式。 對於get.php文件,我幾乎從插件站點復制了它,但是我對其進行了更改,因此它將為我提供更好的服務:
<?php
require_once 'includes/mysql.class.php';
$input = $_GET['q'];
$data = array();
$qu = new MySQL();
$qu->rQuery("SELECT id,name FROM cities WHERE name LIKE '$input%'");
$data = $qu->getRows();
foreach($data as $a){
$json = array();
$json['value'] = $a['id'];
$json['name'] = $a['name'];
$data[] = $json;
}
header("Content-type: application/json");
echo json_encode($data);
?>
現在的問題是,當我輸入文本時,它返回“找不到結果”,但是如果我轉到/get.php?q=velenje(velenje是一個城市的名稱),它將回顯此信息:
{"id":"681","name":"Velenje"}
關於我可能做錯了什么建議?
您正在將MySQL查詢的結果拖入$data
數組中,然后繼續在循環中編輯該數組。 嘗試這個:
$data = array();
$qu = new MySQL();
$qu->rQuery("SELECT id,name FROM cities WHERE name LIKE '$input%'");
$rows = $qu->getRows();
foreach($rows as $a){
$json = array();
$json['value'] = $a['id'];
$json['name'] = $a['name'];
$data[] = $json;
}
header("Content-type: application/json");
echo json_encode($data);
編輯 :我忘了注意到您似乎沒有對輸入內容進行凈化... 小鮑比表向我們展示了為什么我們不應該這樣做。
在客戶端使用腳本的完整路徑:
<script>
$(document).ready(function(){
$("#postna").autoSuggest("http://yoursite.com/get.php");
})
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.