【问题标题】:select box jquery is not defined选择框 jquery 未定义
【发布时间】:2017-09-14 19:44:44
【问题描述】:

我无法摆脱这个错误,以至于我刚刚开始将源添加到标题中,希望某些东西能起作用。什么可能导致这些错误?这是 rails 中的表单助手。

未捕获的 ReferenceError:未定义 jQuery 在 select2.self-3d0dca634dc5f4aee8c2dddef05674d9a674214500fd7e89959dc9e7251bb717.js:18 在 select2.self-3d0dca634dc5f4aee8c2dddef05674d9a674214500fd7e89959dc9e7251bb717.js:20 reports.self-125a9126dcda5f55eea80b80380e4bf42b79fb01ceba6fbb8c52674b3952fca7.js:2 Uncaught TypeError: $(...).select2 is not a function 在reports.self-125a9126dcda5f55eea80b80380e4bf42b79fb01ceba6fbb8c52674b3952fca7.js:2 在reports.self-125a9126dcda5f55eea80b80380e4bf42b79fb01ceba6fbb8c52674b3952fca7.js:4 报告:59 Uncaught SyntaxError: missing ) after argument list application.self-a24973bbb6a25a64ef1e551cdacacf83cdc7ddd8e2ea49e5c4df1e07a115c569.js?body=1:24 Uncaught TypeError: $(...).select2 is not a function 在 HTML 文档。 (application.self-a24973bbb6a25a64ef1e551cdacacf83cdc7ddd8e2ea49e5c4df1e07a115c569.js?body=1:24) 着火了(jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3233) 在 Object.fireWith [as resolveWith] (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3363) 在 Function.ready (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3583) 在 HTMLDocument.completed (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3618)

<header>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
</header>

<h1>Partner Scorecard Generator</h1>


    <%= form_for(:report)  do |f| -%>

    <p>
    <%=f.label "Run date" %><br>
    <%=f.date_field :run_date %><br>
    </p>




    <p>
    <script type = "text/javascript">
    $(document).ready(function() {
        console.log("setting up select 2");
        $("#selecttwo").select2({
            placeholder: "Select your Partners",
            ajax: {
                url: 'http://services.dwmholdings.com/order.svcs/api/partners',
                dataType: 'json',
                type: 'post',
                processResults: function p(data){
                    console.log(processresults())
                    var mapped = $.map(data, funtion (obj){
                        obj.text = obj.text || obj.name;
                        obj.id = obj.id || obj.salesId;
                        console.log(mapped);
                        return obj;



                    })
                    return {
                        results: mapped
                    }

                }


            }
            });
        });
    console.log("hello")
    </script>



    <%= select_tag :sales_ids %>


    </p>

    <p>
    <%= f.label "Yes send Email" %>
    <%= f.radio_button :send_email, "True" %><br>
    <%= f.label "Do not Email" %>
    <%= f.radio_button :send_email, "False" %>

    </p>
    <p>
    <%= f.label "recipients" %>
    <%= f.email_field(:recipients) %>
    </p>

    <p>
    <%= f.label "bcc" %>
    <%= f.email_field(:bcc)%>
    </p>



    <p>
    <%= f.radio_button :Send_Email, "True" %>
    <%= f.label :Debug, "Debug on" %><br>
    <%= f.radio_button :Send_Email, "False" %>
    <%= f.label :Debug, "Debug off" %>
    </p>


    <p>
    <%=f.submit %>
    </p>



<!-- :class => "selecttwo",
        :multiple=>true, 
        :size =>20,
        :id => "selecttwo" -->
<% end %>

【问题讨论】:

  • 请帮助我,我已经为此工作了两个星期-_-

标签: ruby-on-rails ruby jquery-select2


【解决方案1】:

您正在加载 jquery.min.js 以及 jquery.js。尝试删除这两个中的一个。如果在同一页面上加载姐妹或相同的 javascript,则会发生此错误。

【讨论】:

  • 如果您的问题因我的回答而得到解决,请投票给我的回答。谢谢。
  • @perry 如果您的问题因我的回答而得到解决,请投票给我的回答。谢谢。
  • @swag 需要 15 个声望点才能投票,所以佩里不能。
【解决方案2】:

$("#foo").select2()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />

<div id="foo"></div>

尝试在您的脚本src 中使用https 而不是http。似乎在这个简化的例子中工作。

【讨论】:

  • 否定的,我都加进去了
  • 我什至切换了几个不同的cdns,这就是现在的样子,没有变化。
猜你喜欢
  • 2012-08-28
  • 1970-01-01
  • 2014-10-29
  • 2011-04-28
  • 1970-01-01
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多