問題があるかどうかはわかりませんが、msg.d の長さは約 300 行です。msg.d に警告すると、適切にフォーマットされた Json データを取得します。
$("#supplierSelect").autocomplete({
source: function( request, response ) {
$.ajax({
type: "POST",
url: "SupplierAdmin.aspx/PopulateSupplierSelectDropDownList",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
response( $.map( msg.d, function( item ) {
return {
label: item.title,
value: item.turninId
}
}));
}
});
}
}).fadeIn();
成功した場合にのみフェードインする方法を教えていただければ幸いです。
編集: 「適切にフォーマットされたJsonデータ」には、実際にはラベルと値が引用符で囲まれており、順序が入れ替わっています。それが違いを生むかどうかを確認するために今チェックしています。不完全な情報で申し訳ありません。
Edit2:代わり に response( $($.parseJSON(msg.d)).map( function()... を使用しました。何かを入力すると、オートコンプリートが名前のリスト全体をドロップダウンし、いずれかを選択するとボックス内の値.これは正しい機能ではないと思いますか?