var User = Backbone.Model.extend({
schema: {
date: {type: 'Date'}
}
});
var user = new User();
var form = new Backbone.Form({
model: user
}).render();
$('.bootstrap').append(form.el);
我输入什么类型来使用包含的JQuery-UI datepicker?除此之外没有其他文件:
旧的jQuery编辑器仍然包含在内,但可能会被移动到另一个存储库:
jqueryui.List
jqueryui.Date(使用jQuery UI弹出日期选择器)
jqueryui.DateTime
模式类型在引号中声明,我无法弄清楚jqueryui.Date的字符串是什么 - 并且这无法确定。
答案 0 :(得分:9)
您想要创建一个自定义编辑器,例如:'DatePicker'。
所有编辑器都附加到Backbone.Form.editors。由于DatePicker的呈现方式与文本字段完全相同,因此我们可以使用文本字段作为基础,并仅覆盖特定于datepicker的行为。
我经常使用moment.js进行与日期相关的工作,所以这个例子也包含了这个。它也基于Bootstrap DatePicker,而不是jQuery,但这几乎是100%相同。
Backbone.Form.editors.DatePicker = Backbone.Form.editors.Text.extend({
render: function() {
// Call the parent's render method
Backbone.Form.editors.Text.prototype.render.call(this);
// Then make the editor's element a datepicker.
this.$el.datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
weekStart: 1
});
return this;
},
// The set value must correctl
setValue: function(value) {
this.$el.val(moment(value).format('YYYY-MM-DD'));
}
});
就是这样,您现在可以使用这样的日期选择器:
schema: {
birthday: { title: 'When were you born', type: 'DatePicker'}
}
答案 1 :(得分:0)
不确定它是否理解您的问题 但我认为你可以在视图的初始化方法中附加Jquery日期选择器