私はJqueryオートコンプリートを過去にうまく使用しています。最近、jqueryとjquery UIの新しいバージョンにアップグレードしました。同じコードでエラーが発生しています。JqueryのオートコンプリートコードはJqueryの旧バージョンでは動作しますが、それ以降のバージョンでは動作しません
の作業バージョン:1.8.2 jqueryの、jqueryのUI 1.8.24 失敗バージョン:後jqueryの1.10.2、jqueryのUI 1.11.4
jQueryのオートコンプリートのコードです:
$('#lakeId').autocomplete({
delay: 1000,
minLength: 0,
source: function (request, response) {
$.ajax({
url: '@Url.Action("getLakes","BuoyJS")',
type: "GET",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.lakeId, value: item.lakeId };
}))
}
})
},
});
それが失敗すると、サーバーからの正常な戻りの後に応答$ .mapステートメントで関数が見つからないことを示すメッセージが表示されます。以下は、Firebugのサーバーから返ってくるものです。
以下は、解析のためにブラウザに返されたJSON文字列です。 responseText引数を選択することでFirebugからこれを取得しました。 "lakeId": "M:Maranacook Lake"}、{"lakeId": "MH:Moosehead Lake"}、{"lakeId": "MOUSAM:Mousam Lake"}、{"lakeId"
jQuerymigrate(https://github.com/jquery/jquery-migrate)を使用すると、下位互換性が提供されます。 – Shalini