【问题标题】:MaterializeCSS datepicker: setDate does not update the viewMaterializeCSS datepicker:setDate 不更新视图
【发布时间】:2019-01-22 14:09:22
【问题描述】:

使用 MaterializeCSS 1 rc2,我尝试从 Javascript 更新我的 DatePicker 的日期。

我的 HTML

<form action="#" novalidate>
   <input type="text" class="datepicker" name="date" id="datepicker">
</form>

我的 JS

function changeDate(date) {
    /* date is a javascript Date object */
    var datepicker = document.getElementById('datepicker');
    var instance = M.Datepicker.getInstance(datepicker);
    instance.setDate(date);
}

查看控制台,所有变量都设置为它们的预期值。当我单击 DatePicker 时,这也是显示的预期日期(我在 changeDate 中使用的日期)。但是输入字段中的文字并没有改变...

【问题讨论】:

  • 日期是日期的一个实例吗?
  • 是的。如果有帮助,当我查看 FormData 中的值时(因为这是表单的一部分),日期不是正确的。
  • 你能把你的代码上传到像 plunker 或 jsfiddle 这样的地方吗?

标签: javascript datepicker materialize


【解决方案1】:

朋友,你在 MaterializeCSS 中发现了一个错误!

我可以向您推荐我的解决方法:在致电 instance.setDate() 后致电 instance._finishSelection() 以查看您的更改。

【讨论】:

  • 谢谢伙计,这就是我一直在寻找的答案(真是令人沮丧的很长一段时间)!
【解决方案2】:

目前 ("materialize-css": "^1.0.0") 您可以通过以下方式实现:instance.setInputValue:

打字稿代码:

const datepickerInstance = M.Datepicker.getInstance(datepickerEl[0]);
datepickerInstance.setDate(date);
datepickerInstance.setInputValue();

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 2020-04-15
    • 2013-10-23
    • 2013-09-06
    相关资源
    最近更新 更多