2016-06-27 4 views
1

У меня есть следующий вариант как часть:Получение значения lengthmenu из DataTable

"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]], 

, и я пытаюсь получить значение, выбранное для lengthMenu. Однако после просмотра jQuery API я не могу найти ничего, чтобы получить это значение после его изменения. Любые возможные решения, о которых вы, ребята, можете придумать?

ответ

1

DataTables Documentation имеет то, что вы ищете! Функция page.info() возвращает много различной информации о пейджинге в DataTable, включая количество записей, отображаемых на каждой странице (выбранное значение для lengthMenu).

Вот список всех объектов, которые будут возвращены в page.info() вызова (все вещи, которые вы можете ссылаться например, как в вышеприведенном примере:

{ 
    "page": 1, //current page (0 based index) 
    "pages": 6, //total number of pages 
    "start": 10, //index of first element on page 
    "end": 20, //index of last element on page 
    "length": 10, //lengthMenu setting - this is what you want - 
    "recordsTotal": 57, //total number of records 
    "recordsDisplay": 57, //total number of records to display after filtering 
    "serverSide": false //whether or not serverside processing is used 
} 

При всем этом в виду, что вы на самом деле хотите будет выглядеть следующим образом

var table = $('#example').DataTable(); //note that you probably already have this call 
var info = table.page.info(); 
var lengthMenuSetting = info.length; //The value you want 

Все это (более подробно и с некоторыми примерами) является по Доступно ссылке, указанной выше.

EDIT: На самом деле, если все вы хотите, это длина страницы, вы можете использовать table.page.len(), чтобы просто получить длину страницы, вместо получения table.page.info().length.

0

я вещь, которую вы должны использовать aLengthmenu не lengthmenu

$('#table_id').DataTable({ 
    "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]] 
}); 
+0

aLengthmenu - это только опция 1.10 DataTables; нет смысла использовать его, если вы используете DataTables 1.10+ –

0

Да, ответ на Chris H является правильным и работает, другое возможное решение было $ («выбрать»). Вал(), как я в конце концов выяснилось, ,

Спасибо за помощь всем, я попробовал оглянуться в Интернете, чтобы ответить на эту проблему, но не смог найти много. Надеюсь, эти ответы помогут другим в будущем.

+0

. Одна вещь, которую я рекомендую, - это то, что если у вас возникают проблемы с поиском DataTables на самих форумах DataTables или задайте вопрос о них. Автор плагина действительно хорошо отвечает на вопросы в течение пары дней. –

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