2016-09-07 59 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