首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M未定义-对三列进行排序时为sorttable.js

M未定义-对三列进行排序时为sorttable.js
EN

Stack Overflow用户
提问于 2012-06-23 04:26:37
回答 1查看 357关注 0票数 4

当我尝试对三列(State、Status和Queue)进行排序时,我得到一个javascript错误,指出m是未定义的(292,超出范围32)。我不认为这个错误是由sorttable.js文件引起的。它将我指向jquery.min.js文件。我不知道为什么这三列会有问题,因为其中的数据是非常标准的(只有单词,而不是空白)。它似乎只是按照上次成功排序的列进行排序。

代码如下:

用户单击"Go“按钮-将ajax查询请求发送到另一个页面,该页面填充结果。

代码语言:javascript
复制
function SubmitSearch() {
    $("#searchResults").html('<br/><center><img src="../Images/barberpole.gif" style="margin-top:3px;"></center>');

    //Deleted all initializing code. There is no problem with this.         

    $.ajax(
    {
        type: "POST",
        url: "../ajaxURLs/SearchRequests.aspx?requestID=" + requestID,
        cache: false,
        success: function (data) {
            $("#searchResults").html(data);
            sorttable.makeSortable(document.getElementById("SearchResults"));
        }
    });
}

表格

代码语言:javascript
复制
<asp:GridView ID="SearchResults" runat="server" AutoGenerateColumns="False" DataKeyNames="requestNumber"  CSSClass="mailGrid" 
             OnRowDataBound="SearchRedirect">
                <Columns>
                  <asp:BoundField DataField="requestNumber" HeaderText="Request Number" InsertVisible="False" ReadOnly="True" />
                  <asp:BoundField DataField="state" HeaderText="State" />
                  <asp:BoundField DataField="status" HeaderText="Status" />
                  <asp:BoundField DataField="queue" HeaderText="Queue" />
                  <asp:BoundField DataField="oem" HeaderText="OEM"/>
                  <asp:BoundField DataField="rayMaterialNum" HeaderText="Material Number"/>
                  <asp:BoundField DataField="mfgPartNumber" HeaderText="Mfg Part Number"/>
                  <asp:BoundField DataField="program" HeaderText="Program"/>
                  <asp:BoundField DataField="purchaseOrder" HeaderText="Purchase Order" />
                  <asp:BoundField DataField="purchReq" HeaderText="Purchase Requisition"/>
                  <asp:BoundField DataField="businessUnit" HeaderText="Business Unit"/>
                  <asp:BoundField DataField="site" HeaderText="Site"/>
                  <asp:BoundField DataField="buyer" HeaderText="Buyer"/>
                  <asp:BoundField DataField="requisitioner" HeaderText="Requisitioner"/>
                  <asp:BoundField DataField="componentEngineer" HeaderText="Component Engineer"/>
                  <asp:BoundField DataField="responsibleEngineer" HeaderText="Responsible Engineer"/>
                  <asp:BoundField DataField="qualityEngineer" HeaderText="Quality Engineer"/>
                </Columns>
          </asp:GridView>

我使用的是sorttable.js的版本2,Firefox13.0.1,jQueryv1.7.2

生成的html:

代码语言:javascript
复制
<table id="SearchResults" class="mailGrid" cellspacing="0" border="1" style="border-collapse:collapse;" rules="all">
<thead>
<tr>
<th class=" " scope="col">Request Number</th>
<th class=" sorttable_sorted_reverse" scope="col">
<th class=" " scope="col">Status</th>
<th class="" scope="col">Queue</th>
<th class=" " scope="col">OEM</th>
<th class=" " scope="col">Raytheon Material Number</th>
<th class="" scope="col">Mfg Part Number</th>
<th class="" scope="col">Program</th>
<th class="" scope="col">Purchase Order</th>
<th class="" scope="col">Purchase Requisition</th>
<th class="" scope="col">Business Unit</th>
<th class="" scope="col">Site</th>
<th class="" scope="col">Buyer</th>
<th class="" scope="col">Requisitioner</th>
<th class="" scope="col">Component Engineer</th>
<th class="" scope="col">Responsible Engineer</th>
<th class="" scope="col">Quality Engineer</th>
</tr>
</thead>
<tbody>
<tr onclick="ViewRequest('2000')">
<tr onclick="ViewRequest('2001')">
<tr onclick="ViewRequest('2002')">
<tr onclick="ViewRequest('2003')">
<tr onclick="ViewRequest('2004')">
<tr onclick="ViewRequest('2005')">
<tr onclick="ViewRequest('2006')">
<tr onclick="ViewRequest('2007')">
<tr onclick="ViewRequest('2008')">
<tr onclick="ViewRequest('2009')">
<tr onclick="ViewRequest('2010')">
<tr onclick="ViewRequest('2011')">
<tr onclick="ViewRequest('2012')">
<tr onclick="ViewRequest('2013')">
<tr onclick="ViewRequest('2014')">
<tr onclick="ViewRequest('2015')">
<tr onclick="ViewRequest('2016')">
<tr onclick="ViewRequest('2017')">
</tbody>
<tfoot></tfoot>
</table>

其中一个tr的示例。它们都遵循这种格式,并且有问题的列将始终包含数据。

代码语言:javascript
复制
<tr onclick="ViewRequest('2000')">
<td>2000</td>
<td>Open</td>
<td>Initiated</td>
<td>Buyer</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>0</td>
<td>0</td>
<td>0179450</td>
<td>Pending</td>
<td>Pending</td>
<td>Pending</td>
<td>Pending</td>
</tr>
EN

回答 1

Stack Overflow用户

发布于 2012-06-23 06:54:39

据我所知,您应该将class=“可排序”添加到任何想要使其可排序的表中,也许这可以解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11163618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档