在dataTables排序日期字段(具有{"sType":"date"}
时遇到一些问题。null
排序类型(只是对数据进行排序,就像它是一个普通字符串一样)在IE8中运行正常。
适用于IE 9& 10,以及最新版本的Chrome,Safari,Firefox。此应用程序未在移动客户端上使用,因此我没有在那里进行测试。
我需要研究一下IE8的特殊之处吗?在IE8中的JavaScript控制台上没有错误,所以我对于在哪里看起来有点难过。检查dataTables文档并搜索SO,但尚未找到任何IE8特定的内容。
更新
这是我用来初始化数据表的JavaScript。
//sprv results table
$("#sprv_report_table").livequery(function(){$(this).dataTable({
"aoColumns": [{"sType":"date"},null,null,null,null,{"sType":"date"}],
"iDisplayLength": 10,
"sPaginationType": "full_numbers"
});});1
由于数据表代码确实应用于表,并且我可以对其他列进行排序,我没有任何理由相信这个事件没有被触发 - 似乎很明显它是由浏览器。
答案 0 :(得分:1)
尝试这样的事情:
$(this).dataTable({
"aoColumns": [{
mData: function(data, type) {
var realDate = Date.parse(data); //data will be a string
switch(type) {
case 'display':
return realDate.toString('MM/dd/yyyy'); //note that this line needs to be implemented by you (however you format dates)
default:
return realDate;
}
}
},null,null,null,null,{"sType":"date"}],
"iDisplayLength": 10,
"sPaginationType": "full_numbers"
});
请参阅此处的mData
用法参考:http://datatables.net/ref
整数 - 被视为数据源的数组索引。这是DataTables使用的默认值(每列增量增加)。
string - 从数据源中读取对象属性。请注意,您可以使用Javascript点分表示法从数据源中读取深层属性/数组。
null - sDefaultContent选项将用于单元格(默认为null,因此您需要指定所需的默认内容 - 通常为空字符串)。这对生成的列很有用,例如编辑/删除操作列。
function - 每当DataTables需要设置或获取列中单元格的数据时,将执行给定的函数。该函数有三个参数: {array | object}行的数据源 {string}请求的类型调用数据 - 在设置数据时将设置为'set',或在收集数据时'显示','类型','排序'或未定义。请注意,当为DataTables类型提供未定义时,期望获取对象的原始数据
{*}第二个参数“设置”时要设置的数据。
当'set'是调用类型时,函数的返回值不是必需的,否则返回值将用于请求的数据。