数据表中的columnfilterwidget过滤器排序问题
columnfilterwidget in Datatables Filter sort issue
我使用的是带有Columnfilterwidget的数据表1.10,
我面临的问题是我的价值观是0, 1.44, 10100100, 20日
20.13现在Columnfilterwidget正在按字母顺序对这些值排序
0
1.44
10
100
100.00
20
20.13
但是我想用数字过滤
0
1.44
10
20
20.13
100
100.00
,
这是我到目前为止所尝试的
在Columnfilterwidget.js文件
ColumnFilterWidget.prototype.fnDraw = function() {
var widget = this;
var oDistinctOptions = {};
var aDistinctOptions = [];
var aData;
if ( widget.asFilters.length === 0 ) {
// Find distinct column values
aData = widget.oDataTable.fnGetColumnData( widget.iColumn );
$.each( aData, function( i, sValue ) {
var asValues = widget.sSeparator ? sValue.split( new RegExp( widget.sSeparator ) ) : [ sValue ];
$.each( asValues, function( j, sOption ) {
if ( !oDistinctOptions.hasOwnProperty( sOption ) ) {
oDistinctOptions[sOption] = true;
aDistinctOptions.push( sOption );
}
} );
} );
// Build the menu
widget.$Select.empty().append( $( '<option></option>' ).attr( 'value', '' ).text( widget.oColumn.sTitle ) );
// aDistinctOptions.sort();
aDistinctOptions.sort(function(a,b){return a - b});
$.each( aDistinctOptions, function( i, sOption ) {
var sText;
if(sOption==='')
sText = $( '<div> (Blank )</div>' ).text();
else
sText = $( '<div>' + sOption + '</div>' ).text();
widget.$Select.append( $( '<option></option>' ).attr( 'value', sOption ).text( sText ) );
} );
if ( aDistinctOptions.length > 1 ) {
// Enable the menu
widget.$Select.attr( 'disabled', false );
} else {
// One option is not a useful menu, disable it
widget.$Select.attr( 'disabled', true );
}
}
};
我将排序函数更改为数字,但我如何识别即将到来的值是数字,我也检查了sValue
值是字符串,所以是否有任何方法可以定义我想要数字的列。
还尝试设置options oColumnFilterWidgets,但仍然不起作用。
oColumnFilterWidgets: {
"aiExclude": [ 0, 1, 10 ],
"aoColumnDefs": [
// { "bSort": false, "sSeparator": " / ", "aiTargets": [ 5 ] },
{ "fnSort": function( a, b ) { return a-b; }, "aiTargets": [6] },
{"sType": "numeric", "aiTargets":[6]}
]
},
我做错了什么?
感谢cyberhobo修复此问题。
[https://github.com/cyberhobo/ColumnFilterWidgets/commit/01efef439c557154bad3d61aa00d47285b6d21d6 diff - 72250 - e81389e20ff2fa22ff884fcb6aar309] [1]
只是做了他在插件和
中突出显示的更改 "oColumnFilterWidgets": {
"aoColumnDefs": [
{ "bSort": false, "sSeparator": " / ", "aiTargets": [ 2 ] },
{ "fnSort": function( a, b ) { return a-b; }, "aiTargets": [ 3 ] }
]
}
希望这对你有帮助。
相关文章:
- 应用了转换时的D3js排序问题
- 循环的JavaScript排序问题
- 动态填充表时突出显示和排序问题
- 角度 js 中的日期表列排序问题
- 具有排序问题的流体动态图像布局
- JavaScript网格按编号排序,排序问题
- jQuery 数据表排序问题
- javascript 冒泡排序问题(可能很容易)
- 表排序问题
- jQuery 可排序问题开/关检查
- 空引导列上的 Jquery 可排序问题
- onclick()和onblur()排序问题
- 最新JQ Grid中的排序问题
- Typescript编译排序问题
- JavaScript稳定排序问题
- jqgrid中的排序问题
- Dgrid自定义排序问题
- 数据表中的columnfilterwidget过滤器排序问题
- SlickGrid选择排序问题
- Javascript数组排序问题