禁用DatePicker [Extjs]中的日期

问题描述 投票:0回答:3

我想从每月的第二号到该月的最后一天禁用。

即仅启用每月的第一天。也应禁用本月的第一天。我试过

format: 'd/m/Y',
disabledDates: ['02/..', '31/..']

但是它仅禁用每个月的2号和31号。

尽管我搜索更多

使用

disabledDates : ['^01']

它帮助我禁用每个月的1号...但是我需要相反的操作。

请帮助:: extjs的新手

extjs extjs4 extjs4.1 extjs3
3个回答
2
投票

不漂亮,但是下面的代码段。

请注意:

  • 这仅处理“我想从月份的第二天到月份的最后一天禁用”的第一点]
  • 不会禁用“本月的第一天”,因为我不确定该如何完成。

Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 300,
    bodyPadding: 10,
    title: 'Dates',
    items: [{
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'From',
        name: 'from_date',
        disabledDates: ['../02/..',
                        '../03/..',
                        '../04/..',
                        '../05/..',
                        '../06/..',
                        '../07/..',
                        '../08/..',
                        '../09/..',
                        '../10/..',
                        '../11/..',
                        '../12/..',
                        '../13/..',
                        '../14/..',
                        '../15/..',
                        '../16/..',
                        '../17/..',
                        '../18/..',
                        '../19/..',
                        '../20/..',
                        '../21/..',
                        '../22/..',
                        '../23/..',
                        '../24/..',
                        '../25/..',
                        '../26/..',
                        '../27/..',
                        '../28/..',
                        '../29/..',
                        '../30/..',
                        '../31/..'],
        maxValue: new Date()  // limited to the current date or prior
    }]
});
<link href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css" rel="stylesheet"/>
<script src="//cdn.sencha.io/ext-4.2.0-gpl/ext-all.js"></script>

0
投票

'02/..'的意思是:“禁用所有包含02 /后跟任意两个字符的日期。”您确定此功能不会禁用08/02/2015吗?我的猜测是,整个2月都被禁用。

虽然您可以创建一个正则表达式来表示“除第一天以外的所有日子”,但我不知道如何使用该怪物:

disabledDates: ['^02', '^03', '^04', '^05', '^06', '^07', '^08', '^09', '^1', '^2', '^3', '01/03/2015']

但是,出于可用性考虑,我建议您使用其他UX元素,因为您禁用了90%以上的日期。我想,两个组合框比较合适,一个用于月,一个用于年。


0
投票

尝试绑定View中的disableDate并在Controller实例上使用setDisabledDates:

© www.soinside.com 2019 - 2024. All rights reserved.