2012-02-11 83 views
0

我使用jQuery数据表进行表格排序以获取以下数据。jquery数据类型

 <table width="50%" border="0" id="pls-pitching"> 
    <tr> 
    <td><span>1</span> 
    <input name="t" type="text" value="1" /></td> 
    </tr> 
    <tr> 
    <td><span>5</span> 
    <input name="t" type="text" value="5" /></td> 
    </tr> 

    <tr> 
    <td><span>2</span> 
    <input name="t" type="text" value="2" /></td> 
    </tr> 
    <tr> 
    <td><span>3</span> 
    <input name="t" type="text" value="3" /></td> 
    </tr> 
    <tr> 
    <td><span>10</span> 
    <input name="t" type="text" value="10" /></td> 
    </tr> 
    </table> 

在这里,我想在文本框中的值作为1,2,3,5,10 我无法实现的文本框中的值排序排序。所以我在文本框之前添加了<span>标签,例如(<span>10</span>)。现在它对价值进行分类。但它有点像1,10,2,3,5

但我需要排序这样的数字排序。

我用下面的JavaScript命令

$('#pls-pitching').dataTable(); 

是否有实现文本框的值排序的可能?请只做那些需要的。谢谢

回答

0

我有同样的问题,这是对我工作,

1.定义类的自定义类型(数值)

jQuery.fn.dataTableExt.oSort['num-html-asc'] = function(a,b) { 
    var x = a.replace(/<.*?>/g, ""); 
    var y = b.replace(/<.*?>/g, ""); 
    x = parseInt(x); 
    y = parseInt(y); 
    return ((x < y || isNaN(y)) ? -1 : ((x > y || isNaN(x)) ? 1 : 0)); 
}; 
jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) { 
    var x = a.replace(/<.*?>/g, ""); 
    var y = b.replace(/<.*?>/g, ""); 
    x = parseInt(x); 
    y = parseInt(y); 
    return ((x < y || isNaN(x)) ? 1 : ((x > y || isNaN(y)) ? -1 : 0)); 
}; 

2.设置而排序的类型初始化数据表,

$(".fooTable").dataTable({ 
    "aoColumns": [ 
     {"sType" : "num-html" }] 
});