我有一个Dojo EnhancedGrid,其中JsonRest对象包装在ObjectStore中。我想将过滤条件发送到服务器。
我的代码几乎完全是这样做的:
var myStore = new JsonRest({target:"data.jsp"});
var grid = new dojox.grid.EnhancedGrid({
store: dataStore = new ObjectStore({objectStore: myStore}),
id:"grid",
query: { fileId: "*" },
structure:"mystructure",
plugins:{
filter: {
isServerSide: true,
setupFilterQuery: setupFilter
}
}
});
var setupFilter = function(commands, request){
if(commands.filter && commands.enable){
request.query.filter = JSON.stringify(commands.filter);
}
};
问题是commands.filter似乎不包含有效的日期对象。在Firefox的代码调试器中查看它,它似乎保存了日期应该是的数字(内存地址?)。
日期范围查询中JSON.stringify(commands.filter)
的示例结果是:
{ “OP”: “所有”, “数据”:[{ “OP”: “largerEqual”, “数据”:[{ “OP”: “日”, “数据”: “uploadDate”,“isCol “:真},{” OP “:” 日”, “数据”: 13827.06亿下, “isCol”:假}]},{ “OP”: “lessEqual”, “数据”:[ { “OP”: “日”, “数据”: “uploadDate”, “isCol”:真},{ “OP”: “日”, “数据”: 1381150800000 下, “isCol”:假}]}]}
如何在过滤条件中包含有效日期?
答案 0 :(得分:0)
数字值很可能是自1970/01/01以来的毫秒数
例如......
var a = new Date(1382706000000);
现在,如果您检查调试器中的a
或将其注销,您应该会看到它是一个日期对象。
我已退出:Fri Oct 25 2013 14:00:00 GMT+0100 (GMT Daylight Time)