【问题标题】:JSF f:ajax tag inside Jquery datepicker onselect event [closed]Jquery datepicker onselect事件中的JSF f:ajax标签[关闭]
【发布时间】:2012-04-26 10:12:57
【问题描述】:

如何在 jquery datepicker onselect 事件上触发 f:ajax 事件

有可能吗?

如果可以,我该怎么做?

【问题讨论】:

    标签: jquery jsf-2


    【解决方案1】:

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

    请改用 jQuery ajax 函数,或基于 JSF 的组件库之一,如 Primefaces。

    【讨论】:

      【解决方案2】:

      如果你想在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...

      【讨论】:

      • 你总是救我....好可爱...
      • 我试过你的方法,但日期为空。 Check this question
      • @FahimParkar ,如果要将更新后的值发送到服务器而不是初始值,则必须在该特定字段上使用 execute="someId"
      • 感谢您的回答.. 问题是隐藏变量有disabled=true,因为其中的数据为空。在渲染中我传递了普通变量,然后它工作正常......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      相关资源
      最近更新 更多