【发布时间】:2018-05-08 23:39:51
【问题描述】:
Html代码绑定淘汰模型
<tbody data-bind="foreach: responseUserSetUpData().userListViewModel">
<tr>
<td><input type="text" class="datepicker form-control" data-bind="datePicker: ko.observable(new Date(FormatStartDate)) , textInput : FormatStartDate , attr: {id: UserId}, datePickerOptions: {startDate: new Date()}"></td>
<td><input type="text" class="datepicker form-control" data-bind="datePicker: ko.observable(new Date(FormatEndDate)), textInput: FormatEndDate , attr :{id: UserId}, datePickerOptions: {startDate: new Date(FormatStartDate)}" ></td>
</tr>
</tbody>
日期选择器的敲除 Js 自定义绑定
ko.bindingHandlers.datePicker = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var unwrap = ko.utils.unwrapObservable;
var dataSource = valueAccessor();
var binding = allBindingsAccessor();
var options = {
keyboardNavigation: true,
todayHighlight: true,
autoclose: true,
daysOfWeekDisabled: [0, 6],
format: 'mm/dd/yyyy',
startDate: userManagementVM.StartMeetingDate()
};
if (binding.datePickerOptions) {
options = $.extend(options, binding.datePickerOptions);
}
$(element).datepicker(options);
$(element).datepicker('update', dataSource());
$(element).on("changeDate", function (ev) {
var observable = valueAccessor();
if ($(element).is(':focus')) {
$(element).one('blur', function (ev) {
var dateVal = $(element).datepicker("getDate");
observable(dateVal);
});
}
else {
observable(ev.date);
}
});
//handle removing an element from the dom
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).datepicker('remove');
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).datepicker('update', value);
}
};
现在,我想从选定的开始日期禁用日历中的所有过去日期。它应该禁用所选日期的所有过去日期。
这是视图模型的两个属性
StartMeetingDate: ko.observable(new Date()),
EndMeetingDate: ko.observable(),
如何使用淘汰客户绑定禁用日历中的所有过去日期。
【问题讨论】:
标签: javascript jquery knockout.js knockout-2.0 knockout-3.0