Javascript 主干模型和日期选择器默认日期
我想在html日期选择器中显示默认日期,如下所示:Javascript 主干模型和日期选择器默认日期,javascript,jquery,backbone.js,datepicker,Javascript,Jquery,Backbone.js,Datepicker,我想在html日期选择器中显示默认日期,如下所示: <input class="topcoat-text-input"id="birthday" type="date" name="birthday" value= "<%=birthday%>"/> 然后我有一个视图,该视图获取html模板,将模型注入为JSON并显示它。这适用于其他一切,但不适用于日期。 日期选择器无法显示此数据,而只显示dd/mm/yyyy。如何让它显示我设置为默认的日期?默认日期。toString
<input class="topcoat-text-input"id="birthday" type="date" name="birthday" value= "<%=birthday%>"/>
然后我有一个视图,该视图获取html模板,将模型注入为JSON并显示它。这适用于其他一切,但不适用于日期。
日期选择器无法显示此数据,而只显示dd/mm/yyyy。如何让它显示我设置为默认的日期?默认日期。toString()方法以日期字段不接受的格式输出。您需要更具体地写出字符串
<% birthday = new Date(birthday) %>
<input class="topcoat-text-input"id="birthday" type="date" name="birthday" value= "<%=birthday.getDate() + "-" + birthday.getMonth() + "-" + birthday.getFullYear()%>"/>
我还没有测试它在语法上是否正确,但我想你明白了。在模型中设置日期对象之前,需要解析它。您可以在initialize方法中执行此操作,如下所示:
model = Backbone.Model.extend({
initialize: function() {
if(!this.has('birthday')) {
var defaultDate = new Date(1984,01,10);
//Notice the months are zero based so you need to +1
var date = (defaultDate.getMonth() + 1) + '/' + defaultDate.getDate() + '/' + defaultDate.getFullYear();
this.set('birthday', date);
}
}
});
这应该将日期设置为HTML日期输入可以处理的字符串
model = Backbone.Model.extend({
initialize: function() {
if(!this.has('birthday')) {
var defaultDate = new Date(1984,01,10);
//Notice the months are zero based so you need to +1
var date = (defaultDate.getMonth() + 1) + '/' + defaultDate.getDate() + '/' + defaultDate.getFullYear();
this.set('birthday', date);
}
}
});