Хобрук: Ваш путь к мастерству в программировании

Datatable makeEditable() не является функцией?

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().

$("#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() не является функцией


  • Вы ссылаетесь только на 2 из 6 необходимых скриптов в этом посте. Если вы ссылаетесь на остальные 4, пожалуйста, включите их в свой пример — в правильном порядке — таким образом мы сможем устранить эту проблему как возможность. Для этого также требуется jquery.jeditable.js. 08.01.2015
  • Публикация в качестве ответа, так как недостаточно места для комментариев 08.01.2015
  • code.google.com/p/jquery-datatables-editable/wiki/ HTMLSource Я нашел его. Спасибо. 08.01.2015
  • Я все равно отправил ответ, так как он был почти закончен. Дайте мне знать, работает ли ваш код, а если нет, я помогу вам устранить остальные. 08.01.2015

Ответы:


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 в Angular JS:

Я не очень хорошо знаком с angular js, но из их документации...

Использует ли Angular библиотеку jQuery?

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

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

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

Так что версия тоже имеет значение.

08.01.2015
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...