如何在kickstart可排序表中插入多行?我使用jQuery方法<tr>...</tr>
将appendTo
代码安装到表的tbody(就像那样:$("<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)
或
Uncaught TypeError: Cannot call method 'match' of undefined
。
我知道kickstart会添加自己的附加属性,但是如何在页面加载后添加它们?
答案 0 :(得分:0)
您的确切错误是由于没有为插入的值属性设置的。 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');