Вставка строк в сортируемую таблицу кикстарта
Как я могу вставить много строк в таблицу сортировки кикстарта? Я устанавливаю <tr>...</tr>
код с методом jQuery appendTo
к столу (вот так: $("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>".format(a, b, c)).appendTo("#items-tbody");
), то я не могу отсортировать любой столбец. У меня есть ошибки, такие как:
TypeError: i is undefined - kickstart.js (line 288)
в Firefox, или
Uncaught TypeError: Cannot call method 'match' of undefined
в хроме.
Я знаю, что кикстарт добавляет собственные дополнительные атрибуты, но как я могу добавить их после загрузки страницы?
1 ответ
Ваша точная ошибка вызвана тем, что вы не установили атрибут value для вставленных символов. Kickstart использует TinySort для сортировки, которая, очевидно, использует значение attr.
то есть:
var tbody = $(SELECTOR_FOR_TBODY);
tbody.append("<tr id='ROW_FOR_NEW_DATA'/>");
var tr = $("#ROW_FOR_NEW_DATA");`
tr.append("<td value='MyNewValueForTD1'>MyValueForTD1</td>");
tr.append("<td value='MyNewValueForTD2'>MyValueForTD2</td>");
Чтобы сохранить правильное форматирование полосатых строк (и, возможно, некоторые другие варианты поведения), вы также должны сделать что-то подобное после добавления всех новых строк:
$('table').find('tr:even').addClass('alt');
$('table').find('tr:first-child').addClass('first');
$('table').find('tr:last-child').addClass('last');