Jquery根据类按不同列按字母顺序对表进行排序

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(

我试图根据第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('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只做了一点小小的改变就解决了这个问题