2017-04-04 80 views
1

我想實現一個自動完成輸入字段,但是當我開始插入一些文本時,什麼也沒有發生,一秒鐘「忙圈」出現,這就是全部。 這是我的代碼: HTML>jquery自動完成輸入字段沒有任何反應

<div class="products-inv"><?php echo $product_name ?></div> 
<input type="text" id="product_name" name="product_name" /> 

第一個div是測試中顯示的顯示PHP變量值以及

的jquery>

jQuery(function() { 
function log(message) { 
    jQuery("<div>").text(message).prependTo("#log"); 
    jQuery("#log").scrollTop(0); 
} 

jQuery("#product_name").autocomplete({ 
    source: "../route/to/search.php", 
    minLength: 2, 
    select: function(event, ui) { 
    log("Selected: " + ui.item.value + " aka " + ui.item.id); 
    } 
}); 

});

和的search.php文件內容>

$query = 'database data'; 

$ DB-> setQuery($查詢);

$ product_name = $ db-> loadResult();

錯誤控制檯是空的。

感謝諮詢

+0

Echo在它是你不要的end.As的PHP文件中的$ PRODUCT_NAME從它那裏得到 – Mihai

+0

您的search.php代碼什麼? – Gopalakrishnan

+0

什麼都沒有在輸入字段中,只有我第二次顯示產品的第一個值後,<?php echo $ product_name?> –

回答

0

你的服務器端代碼不返回該插件預期的數據。

jQuery autocomplete plugin關於選項

當使用字符串的文檔,自動完成插件預計字符串 指向一個網址資源將返回JSON數據

您的 search.php腳本必須將您想要建議的項目返回給用戶

這是一個例子:

/*term is a parameter generated by the plugin and contains 
the string the user has typed in the input*/ 

$_GET['term'] = isset($_GET['term']) ? $_GET['term'] : null; 

//manage your own query depending on your database and preferred way for db interactions 
//$query = "select product_name from product where product_name like ?"; 
//$term = "%{$_GET['term']}%"; 
//$stmt = $mysqli->prepare($query); 
//$stmt->bind_param("s", $term); 
//$stmt->execute(); 
//$result = $stmt->get_result(); 
$autocompleteList = []; 
while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    $autocompleteList[] = $row['product_name'];   
} 
die(json_encode($autocompleteList));