Событие DatePicker onClose не запускается при использовании в качестве редактора фона
Я искал в сети, и я не могу найти какой-либо свет для этой проблемы. Вот мой фрагмент.
Backgrid.CustomDateCell = Backgrid.DateCell.extend({
editor: Backgrid.InputCellEditor.extend({
attributes: {
type: "text"
},
events: {},
initialize: function(){
Backgrid.InputCellEditor.prototype.initialize.apply(this, arguments);
var _input = this;
$(this.el).prop('readonly', true);
$(this.el).datepicker({
autoclose: true,
todayHighlight: true,
format: "mm/dd/yyyy",
viewMode: "months",
minViewMode: "months",
onClose: function(dateText, inst){
var command = new Backgrid.Command({});
_input.model.set(_input.column.get("name"), dateText);
_input.model.trigger("backgrid:edited", _input.model, _input.column, command);
command = _input = null;
}
});
}
})
});
Итак, в основном, я хочу, чтобы вызвать backgrid: редактирование модели ячеек backgrid. Но, похоже, я что-то здесь упускаю. Событие onClose никогда не вызывается, и в консоли не отображается ошибка. Я также попробовал событие onSelect, но с тем же результатом.
заранее спасибо
1 ответ
Решение
Как уже упоминалось в комментариях:
Это загрузчик даты, так что onClose
не является допустимым вариантом. Присоедините слушателя к hide
событие вместо:
$(this.el).datepicker({
autoclose: true,
todayHighlight: true,
format: "mm/dd/yyyy",
viewMode: "months",
minViewMode: "months"
});
$(this.el).on("hide", function(e) {
var command = new Backgrid.Command({});
_input.model.set(_input.column.get("name"), e.date);
_input.model.trigger("backgrid:edited", _input.model, _input.column, command);
command = _input = null;
});
e.date
должен дать вам эквивалент dateText