2012-04-08 172 views
1

解決方案:jQueryUI的自動完成不工作PHP

的問題是,在我的PHP代碼中,我有一個調試消息:打印$ _ GET [「長期」]; 它也將結果返回給客戶端。

我實現與自動完成功能的搜索,但連接到PHP的時候打了一些問題,這裏是我的代碼

HTML:

<input type="text" id="leaderboard_search" /> 

search.js:

jQuery(function($) { 
$("#leaderboard_search").autocomplete({ 
     minLength: 1, 
     width: 240, 
     source: 'search.php' 
    }); 
}); 

搜索.php:

<?php 
    $values = array('abc','def'); 
    echo json_encode($values); 
?> 

當我輸入一些東西。它只是沒有顯示任何東西。我已經調試到php代碼,search.php調用沒有問題。所以我懷疑問題出在jQuery方面。

我使用jQueryUI的1.8

更新:簡化問題,我改成嵌入式JS,但仍然不能正常工作:

的html代碼:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script> 

<script> 
    $(function() { 
    $("#leaderboard_search").autocomplete({ 
     minLength: 2, 
     width: 240, 
     source: 'search.php' 
    }); 
}); 
</script> 
<html> 
<fieldset class="searchinput"><input type="text" id="leaderboard_search" /></fieldset> 
</html> 
+0

爲什麼你使用'的jQuery(函數($){'? – Incognito 2012-04-08 22:09:38

+0

我是新手,剛看到有人使用它。你能告訴我,我應該怎麼用? – performanceuser 2012-04-08 22:10:37

+0

http://jqueryui.com/ demos/autocomplete/ – Incognito 2012-04-08 22:11:22

回答

-1

根據這裏的jquery文檔http://jqueryui.com/demos/autocomplete/

它聲明結果可以是名稱值對或只是一個數組或字符串..所以,而不是你的回聲這樣的回聲。

echo '["abc","def"]'; 
+0

我試着echo'[「abc」,「def」]';,但不幫 – performanceuser 2012-04-08 22:19:23

+0

嘗試檢查從服務器獲取的響應..通過去開發人員工具「F12」..看起來得到你應該得到你的迴應。如果不是的話......問題出在服務器端..否則問題在於客戶端代碼 – 2012-04-08 22:26:55

+0

你很rocks。。問題是在我的PHP代碼我有一個調試代碼,打印出陣列,刪除它後,它wokrs – performanceuser 2012-04-08 22:30:29

0

嘗試本作你的search.php:

$values = ['abc','def']; 
echo json_encode($values); 
+0

做這個改變後不起作用 – performanceuser 2012-04-08 22:08:06

+0

仍然沒有運氣。 json字符串是有效的。 – performanceuser 2012-04-08 22:23:22