我使用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 :(得分:0)
你必须编写自己的函数来进行比较。 Here is example of how to do it
答案 1 :(得分: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" }]
});