2012-01-31 74 views
1

我正在用jquery和ajax構建自動完成文本字段,就像谷歌搜索欄一樣。 ajax調用應該在keyup上被觸發,但它不起作用。請注意,當我在我的php文件中手動輸入變量時,它正常工作。所以問題必須來自我的ajax「呼叫」,但我無法弄清楚。希望有人能幫忙。預先感謝您的回覆。乾杯。馬克。jquery自動完成文本框ajax調用問題

我的HTML:

<input id="recherche" type='text' placeholder="je recherche"> 
<div id="resultat"></div> 

我的JS:

$('#recherche').keyup(function() { 
    var recherche = $(this).val(); 
    var ajaxData = "recherche=" + recherche; 

    $.ajax({ 
     type: "POST", 
     url: "php/reherche.php", 
     data: ajaxData, 
     success: function(retour) { // si l'appel a bien fonctionné 
      $('#resultat').html(retour); 

     } 
    }); 

}); 

我的CSS:

#resultat{ 
    width:300px; 
    height:300px; 
    border:1px solid blue;} 

我的PHP:

<?php 
header('Content-Type: text/html; charset=utf-8'); 
require("connect.inc.php"); 
mysql_set_charset('utf8'); 

$recherche = mysql_real_escape_string($_POST['recherche']); 

$result = mysql_query("SELECT LOC_VKUP FROM T_LOC WHERE LOC_VKUP LIKE '%$recherche%'"); 

while($row=mysql_fetch_assoc($result)){ 
    echo '<div id="result">'.$row['LOC_VKUP'].'</div>'; 
} 
?> 
+0

您是否嘗試過使用控制檯進行調試?什麼是你的PHP腳本返回? – j08691 2012-01-31 00:05:24

+0

我是新手開發人員,所以如何使用控制檯進行調試。我正在使用textWrangler。當我在我的php文件中手動輸入var $ recherche時,購買方式查詢正確執行。 – Marc 2012-01-31 00:08:35

+0

Google Chrome有一個內置的調試器,您可以通過按F12訪問它。 Firefox需要使用F12打開的firebug插件。至於使用這些調試工具,以及恐怕這超出了這個評論框的範圍,所以可能發佈一個實例或PHP腳本的輸出。 – j08691 2012-01-31 00:10:24

回答

0

對於你正在努力完成的任務,我會考慮使用jQuery自動完成功能而不是keyup。更多信息可以在這裏找到http://jqueryui.com/demos/autocomplete/。這是直接構建到jQuery中,不需要插件。

希望這會有所幫助!