Javascript with jquery datepicker using knockout
Javascript with jquery datepicker using knockout
>我有一个基于数据绑定的问题,来自 jQuery UI 日期选择器更改事件,来自 jQuery UI 日期选择器更改事件,未被 KnockoutJS 捕获
只要日期格式为 dd-mm-yy,这就可以正常工作。一旦我将日期表单更改为 MM-yy,数据绑定就不再更新。相反,日期设置为今天的日期,而不考虑我在列表框中选择什么。关于如何完成这项工作的任何提示?我在多个级别上有多个控件,所以我宁愿不使用此解决方案:使用 Jquery UI 日期选择器淘汰,仅限 MM/YY
提前谢谢。
Javascript:
ko.bindingHandlers.datepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
$(element).datepicker({
dateFormat: "dd-mm-yy",
//dateFormat: "MM-yy",
changeYear: true,
changeMonth: true
});
//handle the field changing
ko.utils.registerEventHandler(element, "change", function () {
var observable = valueAccessor();
observable($(element).datepicker("getDate"));
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).datepicker("destroy");
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()),
current = $(element).datepicker("getDate");
if (value - current !== 0) {
$(element).datepicker("setDate", value);
}
}
};
.html:
<td><input class="dateField" data-bind="datepicker: plannedStartDate" /></td>
视图模型:
...
self.plannedStartDate = ko.observable();
...
这似乎是jquery日期选择器的一个错误。每当使用该格式时,getDate 都不会返回正确的值。
我有一个可能适合您的部分解决方案,可以重新创建您在链接中指定的解决方案。
http://jsfiddle.net/madcapnmckay/tKxAT/
它使用 datejs 来解析从日期选取器返回的日期文本。不是很好,因为当天信息丢失了,但这取决于你是否想要。如果没有,我建议您可能需要找到另一个日期选择器或更改格式以包含日期。
希望这有帮助。
相关文章:
- 如何通过引用var Using DataTables来进行分页或排序
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何将Knockout.JS与服务器已经在DOM中呈现的数据同步
- 显示模块模式在Knockout中设置模型的新实例
- Knockout.JS标签在foreach内部不起作用
- 如何收集Knockout可观察性以放入JSON
- Object.prototype using 'this'
- 使用Knockout JS从下拉框中向observalearray添加项
- 将JSON数据从服务器加载到knockout.jsobservable中
- using LocalStorage ionic 2
- jQuery Replacing, Using arrays
- Knockout绑定大量数据的速度较慢
- 使用knockout.js将数组绑定到视图模型
- Knockout observable没有观察到其中一个属性
- Using jQuery with classes from ES6
- 如何使用Jasmine测试Knockout.js点击绑定
- 类似于Prism的Knockout js框架
- Knockout JS和简单的函数
- Dropdownlist using javascript
- Javascript with jquery datepicker using knockout