Ext JS datepicker,从两个不同的日历中获取日期范围

时间:2016-09-23 07:06:54

标签: javascript extjs datepicker

美好的一天,我进入了一个大型的EXT JS项目,不幸的是我在Ext js中完全不知道,我试图尽可能多地从tuts和例子中学习,但是我对这个基本问题感到震惊。

我有两个不同的日期选择器定义如下:

items: {
                        xtype: 'panel',
                        layout: 'hbox',                    
                        items: [{
                            title: 'FROM',
                            margin: '5',
                            items: {
                                xtype: 'datepicker',
                                start: true,
                                reference: 'startDate',
                                maxDate: new Date(),
                                maxText: 'Future dates are not available',
                                bind: {
                                    value: '{startDate}'
                                },
                                showToday: false,
                                listeners: {
                                    select: 'checkDateInterval'
                                }
                            }
                        }, {
                            title: 'TO',
                            margin: '5',
                            items: {
                                xtype: 'datepicker',
                                start: false,
                                reference: 'endDate',
                                bind: {
                                    value: '{endDate}'
                                },
                                maxDate: new Date(),
                                showToday: false,
                                listeners: {
                                    select: 'checkDateInterval'
                                }
                            }
                        }]
                    }

我已经成功定义了控制器,在那里我做了一个简单的" console.log()" datepicker传递给我的一切:

Ext.define('xxx.xxx.xxx.xxxxxxxSetupController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.investmentsetupcontroller',
    checkDateInterval: function (data){
        console.log("data: ", data);
    }
});

这是按预期工作的。 唯一的问题是我在console.log中收到了一个完整的数据对象,我想应该有一个更简单的方法来获取两个选定的日期。我可以问你一些建议吗?我的目标是获取这两个日期,进行一些计算并用数据调用另一个函数。

提前感谢。

1 个答案:

答案 0 :(得分:2)

要实现这一目标,您需要使用data.value 你的代码就像

checkDateInterval: function (data){
       console.log("data: ", data.value);
}

此处还要检查小提琴。 Fiddle