创建一个输入类型=“;日期“;Ember中
Create an input type="date" in Ember
我正试图在Emberjs中创建一个<input type="date"/>
,但我遇到了两个问题:
- 在我所在的国家,日期显示为DD-MM-YYYY格式,而日期字段需要MM-DD-YYYY格式(然后浏览器根据其区域设置显示)。因此,如果浏览器支持日期输入字段,则应以一种方式格式化日期,如果不支持,则应采用另一种方式
- 日期绑定到date对象
我使用Momentjs进行格式化和Ember数据。
我正在尝试像这样扩展Ember.TextField:
App.DateField = Ember.TextField.extend
value: ( (key, value) ->
if value?
if /Date/.test value.constructor #I assume that if the passed value is a Date object then it is arriving directly from the model
if Modernizr.inputtypes.date
moment(value).format('YYYY-MM-DD')
else
moment(value).format('DD-MM-YYYY')
else # if the passed value is not a Date object then the user is typing into the form
if Modernizr.inputtypes.date
value = new Date('value')
else
value
).property()
type: 'date'
对于具有日期输入的浏览器,支持这种工作方式。对于其他浏览器,日期显示正确,但在模型中保存为(格式错误的)字符串。
如何在后台使用Date对象的同时保持正确的格式?
演示
更新
感谢在接受的答案中提供的博客文章,我能够更新演示以做我想做的事情(有一些奇怪之处,但目前不相关)
Demo2
看看这两篇博客文章:
这是一个简单的日期选择器:http://hawkins.io/2013/06/datepicker-in-ember/这个使用引导程序日期选择器http://hawkins.io/2013/06/fancy-ember-datepicker-with-twitter-bootstrap/
希望这将有助于
我没有看到任何针对字符串用例的解析。您需要使用类似Date.parse
的东西来将用户输入的字符串转换为Date对象。
if Modernizr.inputtypes.date
value = new Date(value)
else
value = Date.parse(value)
相关文章:
- 强制模板刷新ember.js
- 比较从函数和生成的日期对象
- Ember Data DS.Model's set函数不起作用
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在JavaScript中延长当前日期
- 两位数的月份日期验证
- Ember.js-接口状态应该存储在哪里
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- 在ember/handlers中使用value和valueBinding有什么区别
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 以天为单位的 2 个 ember 日期时间对象之间的差异
- 创建一个输入类型=“;日期“;Ember中
- 如何转换从ember路由的模型钩子返回的unix日期,以便它可以在我的模板中显示为一天
- new Date(epoch)返回Ember组件内的无效日期