JQuery DataTables - как применять функции ко всем строкам (не только первые 10 показаны) - PullRequest
0 голосов
/ 12 октября 2011

Я использую плагин JQuery DataTables для отображения больших наборов данных. Одна вещь, которую я пытаюсь сделать, - это укоротить столбец «детали» (иногда это около 1000 символов) до небольшой строки, чтобы все строки были примерно одинаковой высоты и их было легче читать. Затем, когда пользователь нажимает на небольшую строку, он открывает диалоговое окно и отображает полную информацию.

Отлично работает, но только на первых 10 строках (так как это все, что показано по умолчанию). Как только я разверну таблицу, чтобы отобразить остальные строки, функция, кажется, не будет применена к этим вновь показанным строкам. Есть ли в dataTables вызов или опция, которая будет применять функцию при каждом изменении отображаемого набора строк?

Вот вызов dataTables:

    $('#dataTable').dataTable({
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "fnInitComplete": function(){
        $('.display_results').show();
        $('.def').click(function(){
            var msg = $(this).next().text();
            $('.messages').messageBox();//Custom Dialog box call

        });
    }
});

Ответы [ 4 ]

2 голосов
/ 12 октября 2011

Разобрался! http://datatables.net/usage/callbacks использовать 'fnDrawCallback'

    $('#dataTable').dataTable({
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "fnInitComplete": function(){
        $('.display_results').show();
    },
    "fnDrawCallback": function() {
        $('.def').click(function(){
            var msg = $(this).next().text();
            $('.messages').messageBox()//Custom Dialog
        });
    }
})
0 голосов
/ 15 февраля 2013

На самом деле то, что вы должны были сделать, это:

$(".def").live('click', function() {
//your code here
});
0 голосов
/ 13 октября 2011

Лучше всего использовать живые события для такого рода вещей: http://datatables.net/faqs#events. В идеале плагин messageBox можно модифицировать для использования живых событий.

Allan

0 голосов
/ 12 октября 2011

Полагаю, вы могли бы использовать свойство "fnDrawCallback" при объявлении DataTable, как мы использовали в нашем недавнем проекте.

...