2016-07-23 16 views
0

JSFでブートストラップトグル(http://www.bootstraptoggle.com/)を使用したいと思います。ただし、チェックボックスの変更は検出されません。ここでは(この回答Ajax render not working on SelectBooleanCheckboxに基づいて)私の例は以下のとおりです。JSFでブートストラップトグルを使用する

<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削除する場合:それは正しく動作し、私はチェックボックスが有効になっている「AAA」と「BBB」を参照してください「トグル」データトグルを=無効になります。しかし、私はそれを削除しない場合、私はオン/オフトグルボタンが表示されますが、私は常に値を変更すると "aaa"が表示されます。

これを解決する方法はありますか?

答えて

0

最後に私は解決策を得ました。問題は、jsfによって作成されたイベントがonclickであり、それがonchangeでなければならないということでした。これはどのように働いたのですか:

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