2012-04-26 74 views

回答

2

不,这是不可能的。 f:ajax功能在服务器端添加到jsf组件。 jQuery datepicker在客户端工作。

改为使用jQuery ajax函数,或者使用基于JSF的组件库之一(如Primefaces)。

2

如果你想在onSelect事件执行<f:ajax你需要一个解决方法原因<f:ajax/>是JSF标签,不能conncted jQuery的组件将其与JSF的...做同样的方式,

只是地方

<h:commandButton id="myButton" style="display:none"> 
    <f:ajax render="..." listener="..." execute="..."/> 
</h:commandButton> 

,并点击它从onSelect事件这样

onSelect: function(dateText, inst) { 
    $("#myButton").click(); //this will click the hidden button and execute its `<f:ajax ` 
} 

你可能需要一个更好的$(“#myButton”)选择器(如果它的内部形式没有prependId =“false”等等......但猜测它对你来说不会是个大问题......)

BTW

primefaces library already integrated datepicker , the call it p:calendar , so take a look...

+0

你总是救我....那么甜... – 2014-05-23 20:27:12

+0

我想你的方式,但日期会为空。 [检查这个问题](http://stackoverflow.com/questions/23838329/for-ajax-datepicker-send-date-as-null) – 2014-05-23 21:27:26

+0

@FahimParkar,如果你想发送更新的值到服务器,而不是最初的一个你必须在该特定字段使用'execute =“someId”' – Daniel 2014-05-24 05:47:12