jQuery .datepicker(“setDate”,newdate)没有触发onChange或onSelect事件

时间:2011-07-17 19:29:15

标签: jquery-ui datepicker

datepicker输入的内容通过“setDate”方法以编程方式更改,我想根据更改的日期值更新输入表单的预览。

“onSelect”事件仅在通过datepicker UI更改日期时触发,而不是在调用“setDate”时触发。

输入的“onChange”事件也不会被触发。

现在似乎唯一的方法是每次在“setDate”之后手动调用我的 updatePreview 函数,并且我必须重新格式化我从“getDate”方法得到的日期对象。

有更简单的方法吗?

这是jsFiddle中的模型。 “以编程方式更改”按钮不会更新预览。

2 个答案:

答案 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将需要更多的工作。