0

我们使用 mx:DateField 作为我们的 Dates 和 editable="true" 以便我们可以选择一个日期或输入它。要求是我们不能在此字段中输入超过 10 个字符(2010 年 10 月 10 日)。但是 DateField 没有 maxChars 属性来限制它。

所以我们尝试使用 Text Field + DateChooser 来限制字符数。一切都按预期工作,但问题是 DateChooser 在页面上显示整个日历,而不是作为会弹出日历的日历图标(作为 DateField)。

所以现在我的 q 是

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

或者

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

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

4

1 回答 1

2

从这样的事情开始:

<s:TextInput click="dc.visible=!dc.visible" maxChars="10" />
<mx:DateChooser id="dc" visible="false" />

从这里您只需要处理日期选择器的点击事件并适当地填写文本输入

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

用户界面:

<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>

脚本:

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);
}

声明:

<mx:DateFormatter id="dateFormatter" formatString="MM/DD/YYYY" />

希望这可以帮助!-伊恩

于 2011-01-31T20:21:27.063 回答