Использование jquery datatable для строк динамической таблицы
Я строю таблицу динамически, используя 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 ответ
Посмотрите на fnReloadAjax
пользовательская функция плагина Datatables...