Select2 Ajax调用失败,未使用ReferenceError:未定义require

时间:2015-03-25 02:39:09

标签: jquery-select2-4

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

  

未捕获的ReferenceError:未定义require。

我的代码相当简单:

<!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>

1 个答案:

答案 0 :(得分:6)

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

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

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

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