2013-08-23 2 views
1

Используя этот кусок HTML кода работает отлично, как и ожидалось:Twitter Bootstrap Datatable не работает должным образом с АЯКС

<table class = 'table table-bordered table-striped' id = 'example'> 
    <thead><tr><th>Col1</th><th>Col2</th></tr></thead> 
    <tbody> 
     <tr><td>foo</td><td>foo</td></tr> 
     <tr><td>foo</td><td>foo</td></tr> 
    </tbody> 
</table> 

Вот это:

Correct view of Twitter Bootstrap Datatable

Но когда я храню тот же фрагмент кода в переменной как:

content = "<table class = 'table table-bordered table-striped' id = 'example'>" + 
    "<thead><tr><th>Col1</th><th>Col2</th></tr></thead>" + 
    "<tbody>" + 
     "<tr><td>foo</td><td>foo</td></tr>" + 
     "<tr><td>foo</td><td>foo</td></tr>" + 
    "</tbody>" + 
"</table>" 

и динамически называть его через AJaX, выход, кажется, отличается, как показано на скриншоте:

enter image description here

пагинацию и поле поиска ушли! В коде нет никакой разницы, но почему вторая таблица не имеет этих функций?

+0

Почему вы не запрашивали данные (AJAX), и пусть DataTable сделать эту работу? –

+0

Как производится вызов ajax? Как вы можете сообщить данные о данных, которые загружаются через вызов ajax.? – Raghu

+0

@RC Что вы сказали лучше, но я хочу как можно больше оставаться с этим форматом, потому что это шаблон, который у меня есть в этой унаследованной системе. – Arman

ответ

2

После динамического добавления таблицы. Вы снова должны применить dataTable(). Смотрите этот пример: http://jsfiddle.net/bassjobsen/8GNpf/

Или, например, добавить таблицу, когда кнопка с id="addtable" была нажата:

var content = "<table class = 'table table-bordered table-striped' id = 'example2'>" + 
    "<thead><tr><th>Col1</th><th>Col2</th></tr></thead>" + 
    "<tbody>" + 
     "<tr><td>foo</td><td>foo</td></tr>" + 
     "<tr><td>foo</td><td>foo</td></tr>" + 
    "</tbody>" + 
"</table>" 


$('#addtable').click(function(){$('body').append(content); 

$('body table').last().dataTable({ 
     "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>" 
    });}); 
+0

Я до сих пор точно не знаю, как это работает. Но сейчас важно то, что он делает. Спасибо Басс. – Arman

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