2014-07-11 132 views
2

我在rails上使用了select2.min.js文件。之後錯誤拋出我。如何解決它。我花了很多時間來處理這個錯誤。我需要顯示的選擇框jquery-Select2.min.js Uncaught TypeError:undefined不是函數+ rails4

Select2.min.js Uncaught TypeError: undefined is not a function 
ready       unicorn.form_common.js?body=1:15 
(anonymous function)    jquery.turbolinks.js?body=1:30 
x.event.dispatch     jquery.min.js?body=1:6 
v.handle       jquery.min.js?body=1:6 
x.event.trigger     jquery.min.js?body=1:6 
(anonymous function)    jquery.min.js?body=1:6 
x.extend.each     jquery.min.js?body=1:5 
x.fn.x.each      jquery.min.js?body=1:5 
x.fn.extend.trigger    jquery.min.js?body=1:6 
$.turbo.onLoad     jquery.turbolinks.js?body=1:36 
c        jquery.min.js?body=1:5 
p.fireWith      jquery.min.js?body=1:5 
x.extend.ready     jquery.min.js?body=1:5 
q 

MY unicorn.form_common.js和下面我提到的錯誤線

ready = function(){ 

    $('input[type=checkbox],input[type=radio]').iCheck({ 
     checkboxClass: 'icheckbox_flat-blue', 
     radioClass: 'iradio_flat-blue' 
    }); 

    $('select').select2(); **// this line error** 
    $('.colorpicker').colorpicker(); 
    $('.datepicker').datepicker(); 
    } 

    $(document).ready(ready); 
    $(document).on('page:load', ready); 

這是我的application.js

 // This is a manifest file that'll be compiled into application.js, which will  include all the files 
    // listed below. 
    // 
    // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 
    // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. 
    // 
    // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
    // compiled file. 
    // 
    // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details 
    // about supported directives. 
    // 
    // require jquery 
    //= require jquery.min.js 
    //= require jquery-ui.custom.js 
    //= require jquery.turbolinks 
    //= require jquery_ujs 
    //= require bootstrap 
    //= require pusher.min.js 
    //= require fullcalendar_engine/application 
    //= require gritter 
    //= require jquery_nested_form 
    //= require activities 
    //= require message.js 
    //= require livevalidation.js 
    //= require child_form_validation.js 
    //= require signup_form_validation.js 
    //= require custom_validation.js 
    //= require timelineJS/embed 
    //= require jquery.tokeninput 
    //= require bootstrap-datepicker 
    //= require newsletters 
    //= require excanvas.min.js 
    //= require bootstrap-colorpicker.js 
    //= require jquery.flot.min.js 
    //= require jquery.flot.resize.js 
    //= require jquery.sparkline.min.js 
    //= require fullcalendar.min.js 
    //= require jquery.jpanelmenu.min.js 
    //= require dropzone 
    //= require unicorn.js 
    //= require unicorn.dashboard.js 
    //= require jquery.dataTables.min.js 
    //= require unicorn.tables.js 
    //= require filterrific-jquery 
    //= require jquery.icheck.min.js 
    //= require select2.min.js 
    //= require unicorn.form_common.js 
    //= require children 
    //= require messagescroll.js.coffee 
    //= require parents 
    //= require custom.js 
    // require unicorn.login.js 
    //= require tution_fees.js 
    //# require_tree . #should not use because of mercury editor 

謝謝你的幫助!

+0

「我花很多時間來這個錯誤。」您是否在嘗試使用調試器的同時在這個錯誤上花費時間? –

+0

在俄羅斯風格的答案。 –

回答

0

在我的情況下,我有沒有「prop()」函數的舊版本的jQuery。

要找到您的問題,請使用select2.js的未壓縮版本。
尋找發生錯誤的地方。

-1

你可以在application.js中刪除require jquery.turbolinks。 它會工作。

+0

由於PJAX,文檔準備就緒將不起作用,並且turbolins使用PJAX, 如果您仍想使用turbolink。你可以指定你的鏈接禁止使用turbolinks。 <%= link_to'xxx',@ xxx,data:{no_turbolink:true}%> –

0

請務必jQuery是您的準備功能之前加載

相關問題