在视图约会选项卡内的fiddle中,有添加计时按钮。当我点击按钮时,会添加一个新行。现在,当我点击日历图标时,会出现一个弹出窗口,显示当前小时和分钟。但我希望它显示 00:00 。可以告诉我怎么办?
我尝试修改引导日期时间选择器source code
中的 setDate 方法setLocalDate: function (localDate) {
if (!localDate)
this.setValue(null);
else
this.setValue(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate(), localDate.getHours(), localDate.getMinutes(), localDate.getSeconds(), localDate.getMilliseconds()))
},
到
setLocalDate: function (localDate) {
if (!localDate)
this.setValue(null);
else
this.setValue(00, 00, 00, 00,00, 00, 00))
},
但它没有用。请有人告诉我还有什么需要改变
答案 0 :(得分:2)
正如@RobG已经说过的那样,你只需在初始化程序中设置值
即可ko.bindingHandlers.datepicker1 = {
init: function (element, valueAccessor, allBindingsAccessor) {
$(function () {
$(element).parent().datetimepicker({
pickDate: false,
pickSeconds: false,
minuteStep: 10
});
$(element).parent().datetimepicker('setValue', '00:00');
});
// ...
查看更新的JSFiddle
更新
如果您只想00:00
作为默认值,则必须首先从valueAccessor
中选择值并设置00:00
,如果值未定义
init: function (element, valueAccessor, allBindingsAccessor) {
$(function () {
$(element).parent().datetimepicker({
pickDate: false,
pickSeconds: false,
minuteStep: 10
});
var accessor = valueAccessor();
var val = ko.unwrap(accessor) || '00:00';
$(element).parent().datetimepicker('setValue', val);
});
// ...
请参阅JSFiddle
更新
不幸的是,我找不到任何关于2.2.0版的文档。 如果访问者是一个函数,测试似乎有效
var val = valueAccessor();
if (typeof(val) == 'function')
val = val();
$(element).parent().datetimepicker('setValue', val || '00:00');
更新了JSFiddle