datepicker输入的内容通过“setDate”方法以编程方式更改,我想根据更改的日期值更新输入表单的预览。
“onSelect”事件仅在通过datepicker UI更改日期时触发,而不是在调用“setDate”时触发。
输入的“onChange”事件也不会被触发。
现在似乎唯一的方法是每次在“setDate”之后手动调用我的 updatePreview 函数,并且我必须重新格式化我从“getDate”方法得到的日期对象。
有更简单的方法吗?
这是jsFiddle中的模型。 “以编程方式更改”按钮不会更新预览。
答案 0 :(得分:2)
您可以自己触发事件,但一般情况下,javascript中的设置值不会触发事件。这也适用于jQuery。 自己解雇事件:
$(elem).select(); // for select obviously
$(elem).change(); // for change
答案 1 :(得分:2)
如果我理解正确,您希望更新一个单独的元素,其中包含输入日期或以编程方式设置。如果是这样,updating an alternate field 预览已经被添加到jQuery UI Datepicker中。
datepicker小部件似乎只能更新备用<input>
字段而不是<div>
预览,因此如果您需要更新{{1}那么这个demo将需要更多的工作。