ajax を使用して次の選択肢が表示されるよりも、ユーザーが最初の選択肢を作成する必要があるドロップダウンでフォームを作成しています。それはうまく動作します。しかし、dropodwns のブートストラップ フォーマットを追加したかったので、bootstrap-select をインストールしました。それも問題なく動作しますが、ajax イベントが次のデータをレンダリングすると、まだ空のブートストラップ形式のドロップダウンの隣にある新しいドロップダウンにレンダリングされます。ウィッチ、どうやって予測できるの?jsf のコードは次のとおりです。
<h:selectOneMenu styleClass="bootstrap-select" id="marka" value="#{searchBean.markiID}">
<f:selectItems value="#{searchBean.listaMarek}" var="c" itemLabel="#{c.marka}"
itemValue="#{c.markaID}"/>
<f:ajax event="change" execute="marka" render="model"/>
</h:selectOneMenu>
<h:outputText value="#{msg.carModel}"></h:outputText>
<h:selectOneMenu styleClass="bootstrap-select" id="model" value="#{searchBean.modelID}">
<f:selectItems value="#{searchBean.listaModeli}" var="p" itemLabel="#{p.model}"
itemValue="#{p.modelID}"/>
<f:ajax event="change" execute="model" render="liczbaDrzwi"/>
</h:selectOneMenu>
backingbean では、ユーザーが最初のドロップダウンから smthging を選択すると、2 番目のドロップダウンのアイテムのリストが生成されます。そして、これが選択の結果です。
ご覧のとおり、ajax は既存のドロップダウンを埋めるのではなく、まったく新しいドロップダウンを作成します。
アイデアをありがとう:)