2012-03-14 26 views
0
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script>  

$('#query').autocomplete({ 
     source: 'parts_by_partno.php', 
     select: function (event, ui) { 
      $("#query").val(ui.item.label); // display the selected text 
      $("#hiddenId").val(ui.item.value); // save selected id to hidden input 
     } 
    }); 

我沒有在螢火蟲中發生錯誤,但螢火蟲顯示此功能甚至沒有打電話給該頁面。我究竟做錯了什麼?jQuery自動完成不發送Ajax數據

+1

你確定#query是否存在運行?如果你在頭文件中,dom元素可能不存在。 – pschuegr 2012-03-14 05:42:58

+0

我將自動完成腳本鏈接向下移動到#query字段下面,仍然無法工作。 – Devin 2012-03-14 05:58:14

回答

2

檢查了這一點:

http://jsfiddle.net/xJpsL/1/

如果我看在Chrome網絡請求,它的正確請求它。我沒有忘記腳本標記,我認爲?順便說一下,第三個用於autocomplete.js的javascript文件不存在(也不需要它,因爲自動完成是jquery ui文件的一部分)。

+0

好吧,它看起來像核心腳本必須在hea中,並且用戶界面必須在身體。現在發送,謝謝! – Devin 2012-03-14 12:55:04

0

包裹的代碼在準備處理

$(function(){ 
$('#query').autocomplete({ 
     source: 'parts_by_partno.php', 
     select: function (event, ui) { 
      $("#query").val(ui.item.label); // display the selected text 
      $("#hiddenId").val(ui.item.value); // save selected id to hidden input 
     } 
    }); 

}); 
+0

這沒有奏效。 – Devin 2012-03-14 05:58:43

+0

你檢查過螢火蟲或鉻開發工具中的任何JavaScript錯誤 – JIA 2012-03-14 06:04:29

2

這是我如何使它工作的代碼 使用每個功能,它也適用於多個領域。

$('#query').each(function(i, el) { 
    el = $(el); 
    el.autocomplete({ 

     // get source using ajax function 
     // If you need to send extra parameters to parts_by_partno.php 
     // use data: {} 
     source: function(request, response) { 
      $.ajax({ 
       type: 'GET', 
       url: 'parts_by_partno.php', 

       // when you type word in text field 
       // el.val() gets a word and ajax sends value of el.val() to server 
       data: {id: el.attr('id'), term: el.val()}, 

       success: function(data) { 
        //data - data returned from server 
        response(data); 
       }, 
       dataType:"json" 
      }) 
     } 
    }); 
}); 

===================在PHP ===================

$ sendArray = array();

$query = "SELECT * FROM ".$table." WHERE name LIKE '".$_GET['term']."%' LIMIT 10" 

while($row=mysql_fetch_array(mysql_query($query)){ 

    array_push($sendArray, $row['name']); 

}; 

echo json_encode($sendArray);