我正在使用带有 MVC 3 的 tablesorter 和 html 助手来填充 a for 每个循环中的列,该循环通过对象中的项目。这工作正常,我的 html 表正在以我想要的方式填充。但我在对员工姓名进行排序时遇到问题,这是表中的第二列,如下所示:
<td class="reviewedEmployee">
@Html.TextBox("Employees", item.FirstName + " " + item.LastName, new { style = "width:auto !important; text-align:center;" })
</td>
当我单击格式正确以使用表格排序器的“员工”标题时,不会发生排序。但是,当我单击另一列时,例如“审阅者列表”(这是选择列表中的 @Html.ListBox),它会按该列排序。我可以单击返回到“员工”标题,它会进行更改,但它们不是按字母顺序排列的(名字 + 姓氏)。排序也不适用于第一列“年份”,它只显示 2011 年或 2012 年。
这是我的 JS:
$(document).ready(function () {
$('table.tablesorter').tablesorter({ textExtraction: 'complex' })
.tablesorterPager({ container: $("#pager"), size: $(".pagesize option:selected").val() });
});
我尝试删除“Employee”列数据中的空格,并从 tablesorter 中删除了“textExtaction”属性。还有其他想法吗?
更新:我在表中的数据是输入标签,所以我需要找出如何按值排序,可能通过添加 tablesorter.AddParser() 方法来返回输入标签内的单元格 .val() 。