【发布时间】:2012-04-26 10:12:57
【问题描述】:
如何在 jquery datepicker onselect 事件上触发 f:ajax 事件
有可能吗?
如果可以,我该怎么做?
【问题讨论】:
如何在 jquery datepicker onselect 事件上触发 f:ajax 事件
有可能吗?
如果可以,我该怎么做?
【问题讨论】:
不,这是不可能的。 f:ajax 功能在服务器端添加到 jsf 组件。 jQuery datepicker 在客户端工作。
请改用 jQuery ajax 函数,或基于 JSF 的组件库之一,如 Primefaces。
【讨论】:
如果你想在onSelect 事件上执行<f:ajax,你需要一个解决方法 因为<f:ajax/> 是一个JSF 标记,不能像处理JSF 一样连接到jquery 组件...,
只需放置
<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" 等......但我猜这对你来说没什么大不了......)
B.T.W
primefaces library already integrated datepicker , the call it p:calendar , so take a look...
【讨论】:
execute="someId"
disabled=true,因为其中的数据为空。在渲染中我传递了普通变量,然后它工作正常......