如何在Knockout JS中触发日期输入事件?

时间:2018-02-05 13:21:12

标签: date knockout.js

我想要完成的是当用户使用KnockoutJS从HTML中的日期输入字段中选择日期时触发事件。无论用户选择的日期如何,我都想设置所选月份的第一天。

我不想在表单上发布日期字段。我希望当用户只从输入字段中选择日期时触发事件。

1 个答案:

答案 0 :(得分:0)

如果将日期输入的value绑定到observable,则可以subscribe更改该observable并将值更改为所选月份的第一天。

这比我之前在这里写的答案更直接。



const vm = {
  theDate: ko.observable('')
};

vm.theDate.subscribe(function(newValue) {
  vm.theDate( newValue ? newValue.replace(/\d\d$/, '01') : '');
});

ko.applyBindings(vm);

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<input type="date" data-bind="value: theDate">
&#13;
&#13;
&#13;