的tablesorter N [0]未定义 [英] Tablesorter n[0] undefined
问题描述
我有同的tablesorter问题。错误是:
N [0]是未定义
函数appendToTable(表缓存){ 如果(table.config.debug){VAR appendTime =新的Date()} 变种C =缓存,
R = c.row,
N = c.normalized,
totalRows = n.length,
checkCell =(N [0]。长度-1),
tableBody = $(table.tBodies [0]),
行= []; 对于(VAR I = 0; I< totalRows;我++){
rows.push(R [N [I] [checkCell]]);
如果(!table.config.appender){ VARØ= R [N [I] [checkCell]];
变种L = o.length;
为(VAR J = 0; J&下;升; J ++){ tableBody [0] .appendChild(O [J]); } //tableBody.append(r[n[i][checkCell]]);
}
}
以上是从jquery.tablesorter.js一个code片段
,就是错误是发生
我不明白一个未定义的对象是如何被传递给函数。该的tablesorter工作正常在我的项目之一,但不是在这个项目上工作的罚款。
这是用来打电话的tablesorter的code片段。如果我注释掉的tablesorter和tablesorterPager没有别的我code将中断。
$ reviewTable = $(#reviewTable);
$ reviewTable.tablesorter();
$ reviewTable.tablesorterPager({容器:$(#寻呼机),规格:100,窗口小部件:['斑马']});
以下是在客户端
< ASP:直放站ID =reviewRepeater=服务器>
<&HeaderTemplate中GT;
&所述;表CELLPADDING =0CELLSPACING =0类=MarkAsReceivedID =reviewTable>
<&THEAD GT;
< TR类=甚至>
百分位align =left>评价编号:LT; /第i
百分位align =left>&提交日期LT; /第i个
百分位align =left>评级< /第i
百分位align =left>形象和LT; /第i
百分位align =left>产品编号< /第i
百分位align =left>状态和LT; /第i
百分位align =left>名称和LT; /第i
< / TR>
< / THEAD>
<&TBODY GT;
< / HeaderTemplate中>
<&ItemTemplate中GT;
&所述; TR>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,ReviewId)%>< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,SubmissionDate)%>< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,等级)%GT;< / TD>
< TD align =left><%#hasImage(DataBinder.Eval的(的Container.DataItem,ReviewerImages))%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,产品编号)%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,状态)%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,昵称)%GT;< / TD>
< / TR>
< / ItemTemplate中>
< AlternatingItemTemplate>
&所述; TR>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,ReviewId)%>< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,SubmissionDate)%>< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,等级)%GT;< / TD>
< TD align =left><%#hasImage(DataBinder.Eval的(的Container.DataItem,ReviewerImages))%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,产品编号)%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,状态)%GT;< / TD>
< TD align =left><%#DataBinder.Eval的(的Container.DataItem,昵称)%GT;< / TD>
< / TR>
< / AlternatingItemTemplate>
< FooterTemplate>
< / TBODY>
< /表>
< ASP:标签ID =lblEmpty文本=没有项目。 =服务器可见='<%#reviewRepeater.Items.Count == 0%>'>< / ASP:标签>
< / FooterTemplate>
< / ASP:直放站>
如果我还记得,你得到的错误,因为该表最初是空(TBODY)。因此,修改该行code从这样的:
checkCell =(N [0]。长度-1),
这样:
checkCell = totalRows? (N [0]。长度 - 1):0,
如果你有兴趣,我已分叉,并增加了许多增强功能(包括上面的变化)在github上原有的tablesorter插件。
I am having issues with the tablesorter. The error is: n[0] is undefined
function appendToTable(table,cache) {
if(table.config.debug) {var appendTime = new Date()}
var c = cache,
r = c.row,
n= c.normalized,
totalRows = n.length,
checkCell = (n[0].length-1),
tableBody = $(table.tBodies[0]),
rows = [];
for (var i=0;i < totalRows; i++) {
rows.push(r[n[i][checkCell]]);
if(!table.config.appender) {
var o = r[n[i][checkCell]];
var l = o.length;
for(var j=0; j < l; j++) {
tableBody[0].appendChild(o[j]);
}
//tableBody.append(r[n[i][checkCell]]);
}
}
Above is a code snippet from the jquery.tablesorter.js The line where it says checkCell = (n[0].length - 1) is where the error is occuring.
I do not understand how an undefined object is being passed into the function. The tablesorter was working fine in one of my project but not working fine on this project.
[EDIT] This is the code snippet used to call the tablesorter. If I comment out the tablesorter and tablesorterPager nothing else in my code will break.
$reviewTable = $("#reviewTable");
$reviewTable.tablesorter();
$reviewTable.tablesorterPager({ container: $("#pager"), size: 100, widgets: ['zebra'] });
Below is the client side
<asp:Repeater ID="reviewRepeater" runat="server">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="MarkAsReceived" id="reviewTable">
<thead>
<tr class="even">
<th align="left">Review ID</th>
<th align="left">Date Submitted</th>
<th align="left">Rating</th>
<th align="left">Image</th>
<th align="left">ProductId</th>
<th align="left">Status</th>
<th align="left">Name</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "ReviewId")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "SubmissionDate")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Rating")%></td>
<td align="left"><%#hasImage(DataBinder.Eval(Container.DataItem, "ReviewerImages"))%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "ProductId")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Status")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Nickname")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "ReviewId")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "SubmissionDate")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Rating")%></td>
<td align="left"><%#hasImage(DataBinder.Eval(Container.DataItem, "ReviewerImages"))%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "ProductId")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Status")%></td>
<td align="left"><%#DataBinder.Eval(Container.DataItem, "Nickname")%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</tbody>
</table>
<asp:Label ID="lblEmpty" Text="No Items." runat="server" Visible='<%# reviewRepeater.Items.Count == 0 %>'></asp:Label>
</FooterTemplate>
</asp:Repeater>
If I remember, you are getting that error because the table is initially empty ( the tbody ). So modify that line of code from this:
checkCell = (n[0].length-1),
to this:
checkCell = totalRows ? (n[0].length - 1) : 0,
If you are interested, I've forked and added lots of enhancements (including the change above) to the original tablesorter plugin on github.
这篇关于的tablesorter N [0]未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!