![](/img/trans.png)
[英]How can I use onSelect instead of ng-change in my select tag using AngularJS
[英]How can I use jQueryUI datepicker onSelect but also the change event in my Backbone view?
我有一個DateSelectorView
來初始化jQuery UI DateSelectorView
,我添加了onSelect
方法,該方法觸發一個傳遞日期值的全局事件。 我需要觸發全局事件,但我還需要從我的視圖中訪問該值,盡管沒有被確認為DateSelectorView onSelect捕獲了它,但我的視圖中還是有'change input'事件,有人可以建議我如何解決此問題? 有沒有一種方法可以觸發全局事件,然后讓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/
這可以通過骨干事件來解決
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);
希望這對您有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.