1

Select2 现在是否对 require.js 或来自 cdnjs.cloudfare.com 的 4.0.0-rc.2 版本有先决条件要求我在第 4582 行的 select2.js 中不断收到错误-

未捕获的 ReferenceError:未定义要求。

我的代码相当简单:

<!DOCTYPE html> 
<html class="no-js" lang="en"> 
 <head> 
  <meta charset="utf-8"> 
  <title>Test Select2</title> 
  <link href="/css/normalize.css" rel="stylesheet"> 
  <link media="all" type="text/css" rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/css/select2.css"> 
 </head> 
 <body> 
  <!-- Main content --> 
   <section class="content"> 
    <form method="POST" action="http://test.local/test" accept-charset="UTF-8" role="form"> 
    <div class="form-group minimal"> 
     <span class="col-xs-3 control-label minimal"><label for="Test">Test:</label></span> 
     <div class="input-group col-xs-8 pull-left select2-bootstrap-prepend"> 
      <input type="hidden" 
                 id="test_select2" 
                 class="input-xlarge form-control minimal select2" 
                 data-placeholder="Search ACME" 
                 data-minimumInputLength=3 
                 data-width="copy" 
                 data-containterCssClass="form-control minimal" 
                 data-dropdownCssClass="alert-danger" 
                 data-allowClear="true" 
                 data-delay=250> 
     </div> 
    </div> 
   </section> 
   <!-- scripts --> 
   <script src="//code.jquery.com/jquery-2.1.3.min.js"></script> 
   <script>window.jQuery || document.write('<script src="/js/jquery/2.1.3.min.js"><\/script>')</script> 
   <script src="//code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> 
   <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
   <script> 
   $(document).ready(function () { 
    $("#test_select2").select2({ 
     ajax: { 
     url: "/admin/test", 
     dataType: 'json', 
     delay: 250, 
     data: function (params) { 
       return { 
        q: params.term, 
        page: params.page 
       }; 
      }, 
      processResults: function (data, page) { 
        return { 
          results: data.items 
        }; 
      }, 
      cache: true 
     } 
   }); 
  }); 
  </script> 
 <//body> 
</html>
4

1 回答 1

7

这是 Select2 4.0.0-rc.2 中的一个已知问题,仅影响将 Select2 与<input />元素一起使用的人。

https://github.com/select2/select2/pull/3192

问题是内部require调用被移动到 4.0.0-rc.2 中的命名空间,我们错过了一个调用。

您可以坚持使用 4.0.0-rc.1 直到 Select2 4.0.0 发布(很快),或者开始转换您的页面以使用 a<select>代替。

于 2015-03-25T17:06:19.403 回答