2015-01-08 1 views
1
angular.js:11594 TypeError: undefined is not a function 
at ini_table (http://localhost/ferpa-quiz-client/assets/js/controller.js:127:15) 
at HTMLDocument.<anonymous> (http://localhost/ferpa-quiz-client/assets/js/controller.js:26:5) 
at j (http://localhost/ferpa-quiz-client/bower_components/jquery/dist/jquery.min.js:2:26911) 
at Object.k.add [as done] (http://localhost/ferpa-quiz-client/bower_components/jquery/dist/jquery.min.js:2:27220) 
at n.fn.ready (http://localhost/ferpa-quiz-client/bower_components/jquery/dist/jquery.min.js:2:29326) 
at new <anonymous> (http://localhost/ferpa-quiz-client/assets/js/controller.js:21:16) 
at e (http://localhost/ferpa-quiz-client/bower_components/angular/angular.min.js:37:96) 
at Object.instantiate (http://localhost/ferpa-quiz-client/bower_components/angular/angular.min.js:37:207) 
at http://localhost/ferpa-quiz-client/bower_components/angular/angular.min.js:76:267 
at link (http://localhost/ferpa-quiz-client/bower_components/angular-route/angular-route.min.js:7:248) <div ng-view="" class="ng-scope"> 

Это ошибка, которую я получаю, и удар - это мой код. Все работает после удаления .makeEditable().Datatable makeEditable() Не является функцией?

$("#questiontable").DataTable(
      { 
       bAutoWidth: true, 
       bProcessing: true, 
       ajax: '../api/ferpa-quiz/public/getallquestion', 
       sDom: '<"$grid-toolbar"sF>tr<"dataTables-footer"ilp>', 
       iDisplayLength: 5, 

       aoColumns: [ 
        { 
         mData: 'QUESTION', 
         sTitle: "QUESTION" 

        } 


       ] 

      } 
     ).makeEditable(); 

Html

<script src="bower_components/datatables/media/js/jquery.dataTables.min.js"></script> 
<link href="bower_components/datatables/media/css/jquery.dataTables.min.css" rel="stylesheet"/> 
<script src="bower_components/ediTable/jquery.dataTables.editable.js"></script> 
<script src="bower_components/jeditable/js/jquery.jeditable.js"></script> 

вещи я пытался: 1. коммутационные 'D' до 'D'. Ни работает 2. измените порядок ссылок на скрипт. Не работает.

JQuery 1.10.2 Datatable makeEditable() is Not a function

+0

Вы ссылаетесь только на 2 из 6 необходимых сценариев в этом посте. Если вы ссылаетесь на другие 4, пожалуйста, включите их в свой пример - в правильном порядке - таким образом мы сможем устранить эту проблему как возможность. Для этого требуется 'jquery.jeditable.js'. – wahwahwah

+0

Публикация в качестве ответа, поскольку места для комментариев недостаточно. – wahwahwah

+0

https://code.google.com/p/jquery-datatables-editable/wiki/HTMLSource Я нашел его. Спасибо. – OverFlowed

ответ

1

Сценарий заказа:

Из вашего примера, это может быть, что скрипты загружаются из строя. Пример, приведенный на сайте dataTables есть скрипты загружаются в следующем порядке:

jquery.min.js 
jquery.dataTables.min.js 
jquery.jeditable.js 
jquery-ui.js 
jquery.validate.js //not sure this one is strictly needed 
jquery.dataTables.editable.js 

jeditable является обязательным сценарий, как dataTables.editable называет. Это также означает, что jeditable необходимо загрузить доdataTables.editable.

JQuery в угловых JS:

Я не страшно знаком с угловой JS, но из их документации ...

ли Угловое использование библиотека JQuery?

Да, Угловой может использовать jQuery, если он присутствует в вашем приложении, когда приложение загружается. Если jQuery отсутствует в вашем пути к скрипту, Angular возвращается к своей собственной реализации подмножества jQuery, которое мы называем jQLite.

И, JQLite - это не то же самое, что JQuery ... Вам нужно JQuery для dataTable. Примечание:

Угловой 1.3 поддерживает только jQuery 2.1 или выше. jQuery 1.7 и новее могут работать правильно с помощью Angular, но мы этого не гарантируем.

Итак, версия имеет значение.

Смежные вопросы