在Tablesorter中,将不同的值设置为列过滤器的下拉选项

时间:2015-03-06 13:11:47

标签: javascript jquery tablesorter

我使用Tablesorter显示表格,我有一个带有下拉过滤器的列,其中包含多个选项。像这样:

widgetOptions : {
    filter_functions: {
        4: {
            users_all : function() {},
            users_collaborators : function() {},
            users_clients : function() {}
        }
    }
}

所有这三个值(users_all,users_collaborators和users_clients)都是变量,但它们显示为字符串。

有没有办法显示变量'内容?

更新1

我尝试做的是用一种语言或另一种语言显示选项(与表格无关)。

我尝试通过filter_selectSource更改选择选项,如下所示:

widgetOptions: {
    filter_selectSource: {
        4 : [ 'Client', 'Collaborator' ]
    },
    filter_functions: {
        4 : true
    }
} 

但它在jquery.tablesorter.widgets.js上抛出错误(无法读取未定义的属性'格式):1464

我通过ajaxProcessing填充表格,我就像其他任何一样选择这个过滤器:

ajaxUrl: '/users/table_users.php?page={page}&size={size}&{sortList:sort}&{filterList:filter}'

我自己尝试设置你的演示并且没有任何问题。

解决后的问题:

widgetOptions : {
    filter_functions: {
        4: true
    },
    filter_selectSource: {
        4 : [ user_all, user_collaborators, user_clients ]
    }
}

我已将类filter-select-nosort添加到表格中该列的标题中。

1 个答案:

答案 0 :(得分:2)

您到底想要对滤镜选择做什么?

您可以使用filter_selectSource optiondemo

更改选择选项
$(function () {
    $('table').tablesorter({
        theme: 'blue',
        widgets: ['zebra', 'filter'],
        widgetOptions: {
            filter_selectSource: {
                1 : [ 'Client', 'Collaborator' ]
            }
        }
    });
});