将行插入kickstart可排序表中

时间:2014-02-16 11:56:35

标签: javascript jquery ajax html5-kickstart

如何在kickstart可排序表中插入多行?我使用jQuery方法<tr>...</tr>appendTo代码安装到表的tbody(就像那样:$("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>".format(a, b, c)).appendTo("#items-tbody");),然后我无法对任何列进行排序。我有错误:

firefox中的

TypeError: i is undefined - kickstart.js (line 288)

Chrome中的

Uncaught TypeError: Cannot call method 'match' of undefined

我知道kickstart会添加自己的附加属性,但是如何在页面加载后添加它们?

1 个答案:

答案 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');