0
我有以下自動完成代碼通過AJAX調用PHP文件並獲得JSON形式的結果:調用PHP腳本從自動完成AJAX jQuery Mobile的
$("#autocomplete_customer").on("listviewbeforefilter", function (e, data) {
var $ul = $(this),
$input = $(data.input),
value = $input.val(),
html = "";
$ul.html("");
if (value && value.length > 0) {
$ul.html("<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>");
$ul.listview("refresh");
$.ajax({
url: "SearchCustomer.php",
dataType: "jsonp",
crossDomain: true,
data: {
term: $input.val()
}
})
.then(function (response) {
$.each(response, function (i, val) {
html += "<li>" + val + "</li>";
});
$ul.html(html);
$ul.listview("refresh");
$ul.trigger("updatelayout");
});
}
});
這裏是SearchCustomer.php文件:
<?php
include "config.php";
mysql_select_db($db, $con);
$search = $_GET['term'];
$result = mysql_query("my SELECT query on basis of $search") or die('Something went wrong');
$json = '[';
$first = true;
while ($row = mysql_fetch_assoc($result))
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= ".$row['cli_razon_social'].";
}
$json .= ']';
echo $json;
?>
我面臨兩個問題:
結果不是從PHP文件返回或我做錯了。請幫我解決它。
當前用戶無法從自動完成列表中選擇一個值。我如何修改這個腳本讓用戶從文本字段自動完成
ul
列表中選擇自動填寫值?
謝謝。
@ashvinmukhija我在你的幫助下解決了問題#1。你可以幫我解決我的文章中解釋的問題#2嗎?謝謝 – Azeem
這個修改使得在用戶將鼠標放在列表中的某個值上時顯示手形光標成爲可能,但是當用戶點擊所選項目時仍然需要給文本字段賦值: .then(function(response){ $。每個(響應,函數(i,val){ html + =「
回答了問題的第二部分。請參閱更新。 – Achrome