首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex DateField / DateChooser问题

Flex DateField / DateChooser问题
EN

Stack Overflow用户
提问于 2011-02-01 03:59:40
回答 1查看 3.4K关注 0票数 0

我们使用mx:DateField作为日期,并使用editable="true“,这样我们就可以选择日期,也可以输入日期。要求我们在此字段中输入的字符不能超过10个(10/10/2010)。但是DateField没有maxChars属性来限制这一点。

因此,我们尝试使用文本字段+ DateChooser来限制字符数。一切都按预期运行,但问题是DateChooser会在页面上显示整个日历,而不是弹出日历的日历图标(以DateField格式)。

所以现在我的Q是

1)使用DateField,如何将文本字段中可以输入的字符数限制为10

2)如何使用DateChooser更改其外观以显示日历图标,然后在单击日历图标时将日历显示为弹出窗口(类似于DateField)。

如果有人能在这方面帮助我,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-01 04:21:27

从下面这样开始:

代码语言:javascript
复制
<s:TextInput click="dc.visible=!dc.visible" maxChars="10" />
<mx:DateChooser id="dc" visible="false" />

在这里,您只需要处理日期选择器的单击事件,并相应地填写文本输入

更新:尝试从评论中回答您的问题

用户界面:

代码语言:javascript
复制
<s:HGroup>
    <s:TextInput id="dateInput" click="dateInput_clickHandler(event)" maxChars="10" />
    <mx:DateChooser id="dc" visible="false" includeInLayout="false" change="dc_changeHandler(event)" />
</s:HGroup>

脚本:

代码语言:javascript
复制
protected function dateInput_clickHandler(event:MouseEvent):void
{
    dc.includeInLayout = !dc.includeInLayout;
    dc.visible = !dc.visible;
}

protected function dc_changeHandler(event:CalendarLayoutChangeEvent):void
{       
    dateInput.text = dateFormatter.format(event.newDate);
    dateInput_clickHandler(null);
}

声明:

代码语言:javascript
复制
<mx:DateFormatter id="dateFormatter" formatString="MM/DD/YYYY" />

希望这能有所帮助!-Ian

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4855452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档