使用JSF的bootstrap-toggle

时间:2016-07-23 12:48:05

标签: ajax twitter-bootstrap jsf checkbox event-handling

我想在JSF中使用bootstrap-toggle(http://www.bootstraptoggle.com/)。但是它没有检测到复选框中的更改。这是我的例子(基于这个答案Ajax render not working on SelectBooleanCheckbox):

<h:form id="searchForm">
  <h:panelGroup id="searchPanel">    
    <h:selectBooleanCheckbox binding="#{searchCheckbox}" value="true" pt:data-toggle="toggle">
      <f:ajax render="searchForm:searchPanel" />
    </h:selectBooleanCheckbox>
    <h:panelGroup rendered="#{searchCheckbox.value}">
      aaa
    </h:panelGroup>
    <h:panelGroup rendered="#{not searchCheckbox.value}">
      bbb
    </h:panelGroup>
  </h:panelGroup>
</h:form>

如果我删除了pt:data-toggle =&#34; toggle&#34;它工作正常,我看到&#34; aaa&#34;当启用该复选框并且&#34; bbb&#34;当它被禁用时。但是,如果我不删除它,我会看到开关切换按钮,但我总是看到&#34; aaa&#34;当我改变价值时。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

最后我得到了解决方案。问题是jsf创建的事件是onclick,它必须是onchange。这就是它的工作原理:

{{1}}