datatable.fnDraw() не является функцией
У меня есть таблица данных, которая заполняется и отображается так, как я хочу. Есть столбец даты, к которому я хотел бы применить фильтр диапазона дат. На моей HTML-странице есть два элемента управления, которым я присвоил идентификаторы и добавил jquery для DatePicker. Я посмотрел на пример кода, приведенный здесь https://datatables.net/plug-ins/filtering/row-based/range_dates но когда я запускаю код a и изменяю дату на элементе управления, я вижу ошибку, которая oTable.draw()
это не функция.
Я использую datatables 1.10.11, и я настроил свою таблицу, используя следующий код
var statementTable = $('#statementTable').DataTable({....});
Событие on change запускается с этой строкой
$('#startdatepicker').change(function () { statementTable.fnDraw(); });
Когда эта строка выполняется, я вижу ошибку в консоли:
StatementTable.fnDraw() не является функцией.
Кто-нибудь может предложить какие-нибудь указатели, пожалуйста? Спасибо Ричард
2 ответа
Это было вызвано тем, что объявление StatementTable было в неправильном месте и недоступно для более широкого контекста. Смотрите комментарии ниже оригинального поста.
Метод fnDraw()
более старый метод API для DataTables 1.9.
Для более новых DataTables 1.10+ при инициализации таблицы с DataTable()
, используй новее draw()
Метод API вместо.
$('#startdatepicker').change(function () { statementTable.draw(); });
В качестве альтернативы вы можете инициализировать вашу таблицу с dataTable()
затем более старые методы API, такие как fnDraw()
все равно будет работать.