использование jquery datatable для строк динамической таблицы - PullRequest
0 голосов
/ 28 января 2010

Я строю таблицу динамически, используя jquery / javascript. У меня есть несколько ссылок, по которым тело таблицы будет генерироваться динамически с использованием json / jquery.

Мне нравится интегрировать набор данных jquery с динамически создаваемой таблицей. Как я могу прикрепить .dataTable() для динамически создаваемых строк.

Когда я пытался использовать в document.ready, таблица содержит значения впервые созданной таблицы.

Мой JavaScript выглядит так:

    function GetProducts(Id) {
       $('#tProductListBody').html('');

       $.getJSON("/Product/GetProducts/?t=" + new Date(), { catId: Id },
        function(data) {
            var _productsBodyHtml = '';
            if (data != null && data != false) {
            for (i in data) {
                var _product = data[i];
                _productsBodyHtml += '<tr><td>' + _product.ProductName + '</td>';
                _productsBodyHtml += '<td>' + _product.QuantityInHand + '</td><td>' + _product.Price + '</td></tr>';
            }
            }
            $('#tProductListBody').html(_productsBodyHtml);
            $('#tProductList').dataTable();
        });
   }

С помощью вышеуказанной функции js, она будет добавлять данные для каждого клика по ссылкам.

dataTable() - это плагин jquery, который предоставляет функции сортировки, разбиения по страницам и поиска в html-таблицу. Плагин динамически добавляет текстовое поле для поиска и пейджер для подкачки.

Проблема, с которой я сталкиваюсь, заключается в том, что, когда я нажимаю на одну из ссылок, я динамически формирую таблицу, и dataTable() снова добавляет еще одно текстовое поле и пейджер и выдает ранее созданный результат в поиске и подкачке. Мне также следует избегать этого, функциональность dataTable() должна работать для самого последнего содержимого динамической таблицы

Как я могу перефразировать эту функцию js, чтобы данные не могли быть добавлены более одного раза и которая применяет последнюю динамическую таблицу?

1 Ответ

0 голосов
/ 28 января 2010

Взгляните на пользовательскую функцию fnReloadAjax плагина Datatables ...

...