获取Jquery数据表以对包含输入的表进行排序

山姆

我有一张表,它是静态<td>和输入的混合物(包装在td中)<td><input></td>

要使用Jquery数据表插件对数据ive进行排序和过滤,唯一的问题是它不会对<input>标签进行排序,只是将其留在排序列表的底部(如果您单击两次,则放在顶部),尽管可以进行搜索函数仍然适用于所有单元格。

有没有一种方法可以使数据表识别输入标签中的值并对其进行排序,我正在寻找使用混合数据的方法,即一些静态td值(从服务器端的计算生成)和一些静态值。inputs

我在这里做了问题的jsfiddle- http://jsfiddle.net/qE2wV/5/

Selvakumar Arumugam

尝试编写一个自定义排序功能,如果该行有输入,则可以检索输入的值,否则返回文本。见下文,

function getValue(x) {
    if (x.indexOf('input') >= 0) {
        return $(x).val();
    }         
    return x;
}

现在,使用此函数来实现自定义比较器,如下所示,

jQuery.fn.dataTableExt.oSort['cust-txt-asc'] = function (a, b) {
    var x = getValue(a);
    var y = getValue(b);
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};

jQuery.fn.dataTableExt.oSort['cust-txt-desc'] = function (a, b) {
    var x = getValue(a);
    var y = getValue(b);
    return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};

使用上述搜索比较器初始化数据表,

$('#example').dataTable({"aoColumns": [
        { "sType": "cust-txt" },
        { "sType": "cust-txt" },
        { "sType": "cust-txt" },
        { "sType": "cust-txt" }
    ]});

演示: http : //jsfiddle.net/eLTUa/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章