jQuery UIでオートコンプリート検索フィールドを作成しました。私は問題なくコードを使用することができ、それは問題なしでHTMLで結果を生成して表示します。jQuery UIオートコンプリートは、ajax関数ソースの場合に_renderItemを実行しません。
しかし、私はサイトでさらにAJAX機能を使用しており、MySQLへのクエリを実行するためにPHPファイルを分離したくないので、自分のオートコンプリートで2つのデータを送信したいと思います。 1は検索用語そのもの、もう1つはphpでのmy関数の名前なので、適切なクエリを見つけて見つけてデータを返すことができます。
両方のバージョンのコードでは、クロムのネットワークでPOSTが正常に実行されていることがわかりました.Jsonでエンコードされた結果をPHPから取得できます。
ただし、バージョン2では、_renderItemでHTMLを生成しません。
ありがとうございます!
$("#newInit").autocomplete({
source: function(request, response) {
$.ajax({
url: "search.php",
type: "POST",
dataType: "json",
data: {
term : request.term,
f : "item_search"
}
});
},
minLength: 2,
focus: function(event, ui) {
$("#newInit").val(ui.item.name);
return false;
},
select: function(event, ui) {
$("#newInit").val(ui.item.name);
$("#newInit-id").val(ui.item.item_id);
$("#newInit-weight").html(ui.item.weight);
$("#newInit-icon").attr("src", "images/" + ui.item.icon);
return false;
}
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li>")
.append("<div>Name: " + item.name + "<br>Weight: " + item.weight + "<img width='30' height=30' src='http://url.com/" + item.icon + "'/></div>")
.appendTo(ul);
};
(バージョン2)、ajaxからの応答を確認してください。それは本当に名前、重量、アイコンフィールドの項目のリストを送信していますか? – mhshimul
こんにちは、私は適切な応答を次の形式に戻します: [{"item_id": "4"、 "名前": "ツール"、 "重量": "1.00"、 "craftable": "0" "last_mod": "0000-00-00 00:00:00"、 "icon": ""}、{item_id ":" 7 "、" name ":" Wool "、" weight ":" 0.10 " 、 "craftable": "0"、 "last_mod": "0000-00-00 00:00:00"、 "icon": ""}] – Wehaga