gpt4 book ai didi

javascript - JQGrid 比较相等日期格式

转载 作者:行者123 更新时间:2023-11-28 03:49:25 24 4
gpt4 key购买 nike

我有 jqGrid 4.15.3。我使用 filterToolbar 在列中进行搜索。我有日期列,其格式如下“/日期(1515401700270)/”。比较参数为eq,ge。问题是 ge 工作正常,但是当使用网格中的现有值搜索 equal 时,它不显示任何内容。您有什么想法如何解决这个问题吗?这与模型的srcFormat有关吗?

Value: /Date(1515401700270)/ -> does not work
Value: 2017-01-02 -> work

我使用的柱模型是:

{ "search" : "true", "label" : "DateCreated", "name": "DateCreated", "width" : 140, "sorttype": "date", "formatter" : "date", "formatoptions" : { "newformat" : "d.m.Y" },  
"searchoptions" : { "clearSearch" : "false", "sopt": ["eq","ge"], "dataInit" : "(function(el) { $(el).datepicker( { firstDay: 1, dateFormat: 'dd.mm.yy' } ); }) " } }]

最佳答案

问题的原因很容易解释。 Date(1515401700270) 实际上不是 2018-01-08,而是 2018-01-08 09:55:00 GMT+0100"相反。即使您显示完整日期作为四舍五入的日期,只有 jqGrid 仍将数据保留为原始日期。在比较日期期间,将使用原始日期。

要允许用户在此类日期上使用“等于”运算,您有三个主要选项:

  1. 您更改服务器代码以将所有日期的时间设置为 00:00
  2. 您在 DateCreated 列中添加 jsonmap 属性,将输入值舍入为以 00:00 作为时间的日期。 jsonmap用于读取输入数据,本地保存在jqGrid中的数据会进行四舍五入
  3. 您可以通过添加 customSortOperations 来定义自定义排序/过滤操作。它允许重新定义日期的 eq 操作。您只需定义 eq 即可仅比较年、月和日,并忽略所有其他 .您可以在the wiki article中查看该功能的描述。 。 The answer包括the demo ,它演示了该方法。

关于javascript - JQGrid 比较相等日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48148861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com