Jquery根据类按不同列按字母顺序对表进行排序
我试图根据第1列或第0列中的文本值对表进行排序,这取决于行的类别 目的是对表A->Z进行排序,但有些行需要检查另一列 如果rows类为Jquery根据类按不同列按字母顺序对表进行排序,jquery,sorting,Jquery,Sorting,我试图根据第1列或第0列中的文本值对表进行排序,这取决于行的类别 目的是对表A->Z进行排序,但有些行需要检查另一列 如果rows类为classA则使用列1中的文本如果rows类为classB则使用列0中的文本 到目前为止,我已经得到了这段代码,它在第1列上工作,但我不确定如何调整它以跨第0列或第1列工作 rows = $table.find('tr'); sortedRows = rows.sort( function (a, b) { if ( $(a).find(
classA
则使用列1中的文本
如果rows类为classB
则使用列0中的文本
到目前为止,我已经得到了这段代码,它在第1列上工作,但我不确定如何调整它以跨第0列或第1列工作
rows = $table.find('tr');
sortedRows = rows.sort( function (a, b) {
if ( $(a).find('td').eq(1).find("input").val() > $(b).find('td').eq(1).find("input").val() ) {
return 1;
}
if ( $(a).find('td').eq(1).find("input").val() < $(b).find('td').eq(1).find("input").val() ) {
return -1;
}
return 0;
})
排序时,应如下所示:
Column 0 Column 1
North
South
East
West
Top
Bottom
Column 0 Column 1
Bottom
East
North
South
Top
West
有人对此有什么想法吗?
谢谢所以请检查一个类并使用它来确定要检查的索引
function getValue (row) {
var index = row.hasClass('classB') ? 0 : 1
return row.find('td').eq(index).find("input").val()
}
rows = $table.find('tr');
sortedRows = rows.sort( function (a, b) {
return getValue($(a)).localeCompare($(b))
})
它们都是输入吗?似乎您可以引用行中的输入。它们都是输入,不幸的是,它们在行中有多个输入,因此我需要针对特定的列。此
返回row.find('td').eq(index).find(“input”).val()
返回未定义的索引。应该是上校吗?然后我得到无法读取未定义的属性“localeCompare”
有什么想法吗?ThanksThanks只做了一点小小的改变就解决了这个问题