5

jQuery autocomplete機能をASP MVC 3 Webページで使用しようとしています。残念ながら私はこのエラーが発生し続ける。私は使用しているバージョン1.9.2を見てきましたが、オートコンプリートメソッドを持っています。しかし、私はjQueryを完全に新しくしており、ヘッダに宣言が多すぎたり、ライブラリが競合したり、行方不明になっているかどうかはわかりません。以下はUncaught TypeError:オブジェクト[オブジェクトオブジェクト]に 'オートコンプリート'メソッドがありません

ビューからコード

<link href="../../Content/jquery-ui-1.9.2.custom.css" rel="stylesheet"> 

<script src="http://code.jquery.com/jquery-1.8.3.js" type="text/javascript"></script> 
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.tablesorter.min.js")" type="text/javascript"></script> 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js"></script> 
<script type="text/javascript"> 

    $(document).ready(function() { 
     $('#BankName').autocomplete('@Url.Action("GetBanks", "AgentTransmission")', { 
      dataType: 'json', 
      parse: function(data) { 
       var rows = new Array(); 
       for(var i=0; i<data.length; i++){ 
        rows[i] = { data:data[i], value:data[i].SignalName, result:data[i].SignalName }; 
       } 
       return rows; 
      }, 
      formatItem: function(row, i, n) { 
       return row.SignalName + ' - ' + row.Description; 
      }, 
      width: 300, 
      mustMatch: true, 
     }); 
    }); 

完全なHTMLはここで見つけることができますされていますhttp://jsfiddle.net/qpvBv/

+2

なぜ2つの異なるバージョンのjQueryが含まれていますか? – j08691

+0

あなたのHTMLコードを共有 – karthikr

+0

表示されている表示が正しく動作しないように、Razor構文の束がありますが、ここでHTMLとJavascriptを見ることができます:http://jsfiddle.net/qpvBv/ – NealR

答えて

9

あなたはjQueryの複数のバージョンを使用しています。 1つだけを含めて、すべてのスクリプトの一番上に置きます。あなたはjQueryの1.8.3が含ま

  1. まず:ためのjQueryの複数のバージョンを含む

    は動作しません。これは大丈夫です(ish)。

  2. 次に、jQuery UI 1.9.2を追加します。これは大丈夫ですが、おそらくjQueryとjQuery UIのバージョンが一致していることを確認しています。 jQuery UI 1.9.2が1.8.3 jQueryオブジェクトにインストールされています。
  3. さらに、1.8.3 jQueryオブジェクトにインストールされているプラ​​グインを追加します。
  4. 次に、jQuery 1.6.4をインクルードします。古いバージョンとは別に、1.8.3 jQueryオブジェクトを独自の1.6.4 jQueryオブジェクトで上書きし、古いオブジェクトのすべてのプラグインを上書きします。
+2

完璧な説明、ありがとう! – NealR

+0

1つのバージョンしか含まれていなくても問題が解決しない場合はどうすればよいですか? – Green

+1

@Green:次に、jQuery UIを組み込むのを忘れていた可能性が高いです。そうでない場合は、新しい質問をしてください。 – icktoofay

0

私はこの同じ問題を抱えていて、jQueryがicktoofayと同じように複数回含まれていることが判明しました。

私はどこにそれが含まれていたかを知ることができませんでした。私は簡単な方法を見つけることができますが、ファイルをインポートする代わりにローカルにファイルを含める場合は、アラート( 'JQUERY INCLUDED')を追加するだけです。ドキュメントの上部に表示されます。

ページが読み込まれると、ライブラリを読み込んでいるときにフリーズし、そのページをポップアップします。私にとっては、そうでなければデバッグするのは悪夢だったはずのアヤックスコール中であることが判明しました。うまくいけば、これは他の誰かを助けるでしょう。

-2

gem 'jquery-ui-rails' 

をインストールしてapplication.js

//= require jquery.ui.all 
0
私はicktoofayの答えをマークアップされた

に置くが、私はあなたが、例えば、競合リンクの後にリンクを置く必要があること、それに追加します:

<script src="~/fullcalendar/fullcalendar.min.js"></script> 
<script src="~/Scripts/jquery-ui.js"></script> 

この2つのリンクの順序を逆転させると、オートコンプリートが満たされます。ホドは見えません。 icktoofayはそれを一番上に置くべきだと言いますが、私は彼らを一番下に置くべきだと思っています。ちょっと言って....

関連する問題