从 json 将值设置为 datepicker

Posted

技术标签:

【中文标题】从 json 将值设置为 datepicker【英文标题】:Set the value to the datepicker from a json 【发布时间】:2014-11-13 20:09:09 【问题描述】:

我正在尝试使用下一个代码从商店将值设置为 Sencha Touch 下的 datepicker 组件:

    setRDDConfigs: function () 
    var store = Ext.getStore('OrderOptions');
    var cartHeaderRDD = this.getHeaderRDD();

    Ext.each(store.getRange(), function (record) 
        var r = record.getData().rdd;
        var formatted = c.Helper.formatSAPdate2Str(r);
        console.log(r); // here  20140807  for example
        console.log(formatted); // here 07-08-2014
        cartHeaderRDD.setValue(new Date(r)); // NAN
        //cartHeaderRDD.setValue(formatted); //NAN
    );
,

在视图中:


  xtype: 'CustomDatepicker',
  itemId: 'headerRDD',
  name: 'rdd',
  required: true,
  hidden: true
,

但它不能正常工作..我做错了什么??

谢谢!

【问题讨论】:

【参考方案1】:

试试下面的

parsedDate = Ext.Date.parse(r, "Y-m-d");
cartHeaderRDD.setValue(parsedDate);

Ext.Date.parse 将字符串作为第一个输入,将格式作为第二个输入。 如果解析成功,则 Result 为 Date 对象,否则为 null。 根据r中的格式更改格式。

欲了解更多信息,请参阅http://docs.sencha.com/extjs/5.0.1/#!/api/Ext.Date-method-parse。

【讨论】:

很高兴听到代码对您有用,请单击复选标记考虑accepting the answer。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。【参考方案2】:

你需要像这样在 setValue 中设置日期:

 cartHeaderRDD.setValue(new Date());

【讨论】:

好的,它适用于当前日期,但实际上我需要从 json 中获取值,它不是当前日期。过去与当前日期就足够了.. 你可以这样做:cartHeaderRDD.setValue(new Date(r)); 我尝试了同样的例子,现在它可以工作了,但是在现场显示的是 NAN、NAN 等等.. 你能给我一个你正在设置的“r”的例子吗? 好的。 cartHeaderRDD.setValue(new Date(formatted)); 应该做的工作。

以上是关于从 json 将值设置为 datepicker的主要内容,如果未能解决你的问题,请参考以下文章

如何将值设置为字典的深度?

OPENJSON 将值列转换为多行不起作用

从 Json 将值存储到 NSObject

json 将值加载到 extjs 复选框组网格编辑器中

将值从文件选择器设置为调用它的对话框

SQL Server 在将值转换为字符串/从字符串转换时是不是考虑文化/区域设置?