Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui datepicker(“setDate”,newdate)未触发onChange或onSelect事件_Jquery Ui_Datepicker - Fatal编程技术网

Jquery ui datepicker(“setDate”,newdate)未触发onChange或onSelect事件

Jquery ui datepicker(“setDate”,newdate)未触发onChange或onSelect事件,jquery-ui,datepicker,Jquery Ui,Datepicker,datepicker输入的内容通过“setDate”方法以编程方式更改,我想根据更改的日期值更新输入表单的预览 只有通过datepicker UI更改日期时,才会触发“onSelect”事件,而不是调用“setDate”时 输入的“onChange”事件也不会触发 现在看来唯一的方法是每次在“setDate”之后手动调用updatePreview函数,我必须重新格式化从“getDate”方法获得的日期对象 有更简单的方法吗 这是我的模型。“以编程方式更改”按钮不会更新预览。您可以自己触发事件,但

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

只有通过datepicker UI更改日期时,才会触发“onSelect”事件,而不是调用“setDate”时

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

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

有更简单的方法吗


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

您可以自己触发事件,但通常javascript中的设置值不会触发事件。这也适用于jQuery。 亲自启动事件:

$(elem).select(); // for select obviously  
$(elem).change(); // for change

如果我理解正确,您希望使用以编程方式输入或设置的日期更新单独的元素。如果是这样,预览已经烘焙到jQueryUIDatePicker中


datepicker小部件似乎只能够更新一个备用的
字段,而不是
预览,因此如果您需要它来更新
,那么这将需要更多的工作。

虽然我可以大致了解您的问题,但在您的问题中添加一些代码会有很大帮助。例如,我不知道updatePreview函数还在做什么。您可以使用例如创建问题的演示。好问题,Rots!感谢您在下面对您接受的答案的评论中发布它和您的JSFIDLE答案。select()会打开日期选择器对话框,我不想这样。啊,现在我明白您的意思了(使用JSFIDLE)。不,我认为没有比直接或间接调用updatePreview()方法更好的方法了(andyb回答的除外)。但是你可以做一个函数来设置日期,这样你就不必经常重复代码了。我注意到,如果我将altField对象更改为div,那么值仍然在设置中。在对jQuery代码进行了一些挖掘之后,我能够注册一个钩子并构造一个回调对象。这有点难看,但它很管用。