javascript - 主干模型和日期选择器默认日期

标签 javascript jquery backbone.js datepicker

我想在 html 日期选择器中显示默认日期,如下所示:

<input class="topcoat-text-input"id="birthday" type="date" name="birthday" value= "<%=birthday%>"/>

其中 <%=birthday%> 是我的主干模型中的生日值,我定义如下:

model = Backbone.Model.extend({
        defaults: {
            birthday: new Date(1984, 01, 01),
        }

然后我有一个 View ,它获取 html 模板,将模型作为 JSON 注入(inject)并显示它。这适用于其他所有内容,但不适用于日期。 日期选择器无法显示此数据,而仅显示 dd/mm/yyyy。我怎样才能让它显示我设置为默认的日期?

最佳答案

您需要先解析 Date 对象,然后再将其设置到模型中。您可以在初始化方法中执行此操作,如下所示:

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 日期输入可以处理的字符串

关于javascript - 主干模型和日期选择器默认日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22147885/

相关文章:

javascript - 'production' 代码中不推荐使用 jQuery .css

jquery - 如何用jquery预览选定的图片?

javascript - 主干 View 不应在不同实例中具有相同的数据,但确实如此

javascript - 在主干同步覆盖中“读取”集合逻辑

javascript - 主干破坏模型、获取方法或请求有效负载?

javascript - 合并两个 observables,单一输出

javascript - 如果存在输入,则 MongoDB 匹配(聚合)

javascript - 制作一个向下滑动的div

javascript - 搜索匹配变量的字符串键数组并使用 javascript/jquery 返回所有值

javascript - 没有方法 'has'