更新jQuery Datepicker UI而不更改关联输入

时间:2014-12-29 20:42:17

标签: angularjs jquery-ui datepicker

我目前正在开发一个需要使用jQuery datepicker的项目。一切都很好,除了一个要求......用户需要能够输入“smartdate”。智能日期是一种简便的语法,可以轻松生成未来或过去的日期X天数。输入日期的语法是加号(+)或减号( - )后跟一个整数,表示从今天开始的天数。我已经在我的datepicker配置上设置了constrainInput标志,以允许用户输入标志。我的问题是:在输入数字字符的每个实例时,我希望日历更新以显示当前“选定”日期,但是在您使用setDate操作的时候,datepicker控制输入并改变用户输入的文本。我深入研究了源代码,发现_setDate方法有一个名为noChange的第二个参数,但是以下面的方式传递标志没有效果:

$ele.datepicker('setDate', date, true);

我不熟悉jQuery UI和datepicker插件本身抛出这个组件的各种抽象层次,因此我很难设计出一个解决方案,而不需要花费太多时间来挖掘源代码。 / p>

那里有人可以给我一些帮助吗?非常感谢!

对于那些想要查看代码的人,可以在这里查看我的代码集:'Smart Date Module'

第二个输入是用户输入,第一个输入是Angular中的模型支持。

1 个答案:

答案 0 :(得分:0)

也许我误解了你的问题,但为什么不在调用datePicker setDate之后只是在输入中设置用户值?这将在每次按键后更新datePicker日期,并将用户值保留在输入中:

$($ele[0]).datepicker('setDate', date);
$ele.val(value);

我更新了 codepen 以反映更改。

告诉我这是不是你所期望的。