2016-04-27 8 views
1

私は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"

+0

jQuerymigrate(https://github.com/jquery/jquery-migrate)を使用すると、下位互換性が提供されます。 – Shalini

答えて

0

Jqueryのバージョンを1.8から2.2.3に徐々に増やすことで問題を解決することができました。これは最新のものです。 Visual Studio 2015 Nugetが提供するバージョン。前回と何が違うのか分かりませんが、今はうまくいきます。

関連する問題