m не определено - sorttable.js при сортировке по трем столбцам
Когда я пытаюсь выполнить сортировку по трем столбцам (State, Status и Queue), я получаю ошибку javascript, которая говорит, что m не определено (292 из диапазона 32). Я не думаю, что эта ошибка возникает в файле sorttable.js. Он указывает мне на файл jquery.min.js. Я не могу сказать, почему эти три столбца имеют проблемы, так как данные в них довольно стандартные (просто слова, а не пустые). Кажется, он просто продолжает сортировку по тому столбцу, который был последний раз успешно отсортирован.
Вот код:
Пользователь нажимает кнопку "Перейти" - отправляет запрос ajax-запроса на другую страницу, которая заполняет результаты.
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"));
}
});
}
Таблица
<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>
Я использую версию 2 sorttable.js, Firefox 13.0.1, jquery v1.7.2
Сгенерированный HTML:
<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. Все они следуют этому формату, и у рассматриваемых столбцов всегда будут данные.
<tr onclick="ViewRequest('2000')">
<td>2000</td>
<td>Open</td>
<td>Initiated</td>
<td>Buyer</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>0</td>
<td>0</td>
<td>0179450</td>
<td>Pending</td>
<td>Pending</td>
<td>Pending</td>
<td>Pending</td>
</tr>
1 ответ
Насколько я знаю, вы должны добавить class="sortable" к любой таблице, которую вы хотите сделать сортируемой, возможно, это решит проблему.