2016-09-07 56 views
4

我無法使jQuery 3.1.0與jQuery UI的自動完成功能一起工作。jquery 3.1.0和jquery-ui自動完成不兼容,解決方法是什麼?

我知道的唯一解決方法是將jQuery 3.1.0替換爲使用jQUERY UI安裝程序預先打包的那個。不幸的是,這並不適合我,因爲jQuery UI安裝包中的版本不允許我使用標籤輸入和我需要的其他現代功能。

<input type="email" id="tags" class="form-control" placeholder="Any Criteria" data-role="tagsinput"> 

<script type="text/javascript" src="external/jquery/js/jquery-3.1.0.min.js"></script> 
<script type="text/javascript" src="external/jquery-ui/js/jquery-ui.min.js"></script> 
    <script> 
     $(function() { 
     var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "JavaScript", 
      "Lisp", 
      "Perl", 
      "PHP", 
      "Python", 
      "Ruby", 
      "Scala", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 
     }); 

+0

使用由jQueryUI的,你的版本支持的jQuery的舊版本所使用 –

+0

如果你確切知道衝突是什麼,你可以從任一個庫中刪除衝突的代碼(你需要有庫本地而不是外部的,例如不是CDN) –

回答

5

似乎是現在的工作就好了:

https://jsfiddle.net/jphellemons/0ukbtgs4/

  • 的jQuery 3.1.1
  • jQuery UI的1.12.1

與你代碼:

<input type="email" id="tags" placeholder="Any Criteria"> 
<script type="text/javascript" src="external/jquery/js/jquery-3.1.1.min.js"></script> 
<script type="text/javascript" src="external/jquery-ui/js/jquery-ui-1.12.1.min.js"></script> 
<script> 
    $(function() { 
    var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", 
     "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", 
     "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" 
    ]; 
    $("#tags").autocomplete({ 
     source: availableTags 
    }); 
    }); 
</script> 
0
  • 的jQuery 3.1.1
  • jQuery UI的1.12.1

$("#Your-Input").on('keypress', function() { 
    $.ajax({ 
     url: 'http://www.somehost.ru', 
     dataType: "json", 
     data: { 
      text: $("#Your-Input").val() 
     } 
    }) 
    .done(function(result) { 
     //your handler here 
    }); 
}); 
+0

您可以使用插入片段工具欄按鈕將格式化的代碼包含到您的答案中(其上帶有'< >'的按鈕) – mike510a