对表数据中包含<input />的表进行排序

时间:2015-12-01 22:23:57

标签: javascript jquery sorting plugins

我正在使用代码here对表格进行排序。代码和插件工作得很好,但我的<td>部分代码中有<input>个标记,其值与用户的行相对应。分拣系统将无效<input>的值。一直在研究这个问题,并且我想在这里询问如何进行排序以查看输入值。

var table = $('#user-table');
$('.sort-id, .sort-username, .sort-lastname, .sort-firstname')
.wrapInner('<span title="sort this column"/>')
.each(function(){

    var th = $(this),
        thIndex = th.index(),
        inverse = false;

    th.click(function(){

        table.find('td').filter(function(){

            return $(this).index() === thIndex;

        }).sortElements(function(a, b){

            if( $.text([a]) == $.text([b]) )
                return 0;

            return $.text([a]) > $.text([b]) ?
                inverse ? -1 : 1
                : inverse ? 1 : -1;

        }, function(){

            // parentNode is the element we want to move
            return this.parentNode;

        });

        inverse = !inverse;

    });

});

1 个答案:

答案 0 :(得分:0)

你想要这样的东西......

table.find('td input').filter(function()

然后获取输入的值,如此

return $(a).attr('value') > $(b).attr('value')

并将父项更改为

return this.parentNode.parentNode;

http://jsfiddle.net/gFzCk/2998/