我如何使用jQueryUI日期picker onSelect,但也在我的主干视图的变化事件
How can I use jQueryUI datepicker onSelect but also the change event in my Backbone view?
我有一个初始化jQuery UI日期拾取器的DateSelectorView
,我已经添加了触发传递日期值的全局事件的onSelect
方法。我需要全局事件来触发,但我也需要从我的视图中访问值,在我的视图中有"更改输入"事件,虽然没有被确认为dateselectorviewonselect陷阱,有人能建议我如何解决这个问题吗?是否有一种触发全局事件的方法,然后让DateSelectorView onSelect
继续任何其他事件需要它?
JS
App.Views.PersonView = Marionette.ItemView.extend({
template: '.js-person-tmpl',
events: {
'change input': 'onSelect'
},
templateHelpers: function () {
return {
availableClasses: this.options.availableClasses.toJSON()
}
},
initialize: function () {
//console.log('PersonView::initialize', this.options, this.model.toJSON());
},
onRender: function() {
this.dateSelector = new App.Views.DateSelectorView({
el: this.$el.find('.js-date')
});
},
onSelect: function() {
console.log('date selected');
// this.model.set('dateSelected', '');
}
});
App.Views.DateSelectorView = Marionette.ItemView.extend({
template: false,
tagName: 'input',
initialize: function() {
//console.log('DateSelectorView::initialize');
this.$el.datepicker({
dateFormat: 'dd M yy',
altFormat: 'yy-mm-dd',
altField: '.js-date-hidden',
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function() {
console.log('date:selected', this.value);
Backbone.Events.trigger('date:selected', this.value);
}
});
}
});
JSFiddle: http://jsfiddle.net/kyllle/okmL8k8p/5/
这可以通过Backbone事件来修复
App.Views.PersonView = Marionette.ItemView.extend({
initialize: function () {
App.events.on("doSomething_event", this.onSelect);
},
onSelect: function(date) {
console.log(date);
}
});
App.Views.DateSelectorView = Marionette.ItemView.extend({
initialize: function() {
this.$el.datepicker({
dateFormat: 'dd M yy',
altFormat: 'yy-mm-dd',
altField: '.js-date-hidden',
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function() {
App.events.trigger("doSomething_event", this.value);
}
});
}
});
App.events = _.extend({}, Backbone.Events);
希望这对你有帮助!
相关文章:
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 为什么我的视图没有显示在角度ui视图中
- 为什么我无法在我的视图中看到这个变量
- 为什么我的视图模型不起作用
- 如何在我的视图中打印JavaScript代码
- Knockout JS将我的视图模型创建更改为使用映射pulgin
- 如何使用JS函数在我的视图中显示ViewBag的值
- KnockoutJS 绑定在我的视图模型实际创建之前应用
- 我的视图模型不会根据 JSON 结果淘汰来增加数字
- 用AngularJS清理我的视图
- 为什么我的视图在骨干中的数组长度不正确
- Knockoutjs:如何将单个项目从可观察数组传递到我的视图模型中
- Ajax响应并没有改变我的视图模型
- 将参数从我的视图(页面)传递到我的js文件
- 无法使用逻辑从主干路由器路由到我的视图
- 在我的视图页面中实现两个select
- 通过添加“更改”方法,我的视图不再绑定到它
- 使用AngularJS在我的视图中的另一个json中渲染json
- json对象直接从我的视图HTML