2011-10-21 16 views
0

ajaxビヘイビアで "rendered"属性を使用すると、いくつかの問題が発生します。私はので、私はそれは多くのより明確になると思うのコードを貼り付けます:JSF 2.0 - Ajaxとレンダリングされたコンポーネント

<h:selectOneMenu value="#{registrarVentaController.esCobroChequeString}"> 
    <f:selectItem itemLabel="Efectivo" itemValue="false"/> 
    <f:selectItem itemLabel="Cheque" itemValue="true"/> 
    <f:ajax execute="@this" render="@form"/> 
</h:selectOneMenu> 

<h:panelGroup id="panelMonto"> 
    <span>Monto:</span> 
    <h:inputText value="#{registrarVentaController.monto}" rendered="#{registrarVentaController.banCobroCheque}"/> 
    <h:inputText value="#{registrarVentaController.monto}" rendered="#{not registrarVentaController.banCobroCheque}"/>  
</h:panelGroup> 

マイ「#{registrarVentaController}」はちょうどビュースコープJSFは、appropiateセッター/ゲッターとマネージドBeanされます。

それが動作します。この方法では、私は、ユーザーがオプションを選択したときに、意味「Efectivo」、panelGroup「panelMonto」は、ユーザーがオプションを選択したときに「逆チェックを更新されますと、我々は最初のinputTextを参照してくださいよ、と"ユーザーには2番目のinputTextが表示されます。このアプローチのために

私は「F:AJAX」使用=「panelMonto」をレンダリング使用して(「panelMonto」私はこの行動の仕事を得るために全体@formを更新し、私はちょうどpanelGroupを更新したいコンポーネントをそれはすべてでは動作しません(:formNameフォーム:私もフルスコープ解決を試みるpanelMontoなし結果)。

を私は特定の部分を表示するAJAX =「idComponent」または同様の挙動とのレンダリング作業を持ちたいですユーザーが選択した通りです。

よろしく!

注意(一つの解決策)

私は解決策(入力 JSF rendered is not working と自分自身のビットとして取り)を得ることができました。私はちょうど私が であることをユーザーが選択した内容に従って新しいフォームに移動しました。私はまだこのように私はまだ @フォームajaxのレンダリングを使用して、それはちょうど 私が使用していたような完全なフォームをこの新しいフォームをレンダリングします!コンポーネントID。あなたは

render=":panelMonto" 

ない

render=":formName:panelMonto" 

に確認した場合、まだ動作していないものを

+1

'render =" @ form "'が動作しますが、 'render =" panelMonto "'はしませんか?さて、そこにはもっと多くの見方がありますか?その 'panelMonto'コンポーネントは' '、' '、' '、複合コンポーネントなんかのような別の' UINamingContainer'コンポーネントの中に実際にはありませんか?生成されたHTML出力のクライアントIDは何ですか(ブラウザで開いているページ、rightclick、*ソースを見る*) – BalusC

+0

この点にご注目いただき、ありがとうございます。問題はこれらの問題の周りにあり、私はそれを ...で解決することに成功しました(私が行った変更は、panelGroupコンポーネント) –

答えて

0

これが唯一の

render="panelMonto" //because is in the same form 

で動作するはずですが、あなたはより多くのコードを追加することはできますか? また、あなたのブラウザ(クロムで:右クリック、要素、ネットワークを調べる)をチェックして、アクティビティがあるかどうかを確認できますか?おそらくあなたのために同じことをレンダリングしています...

関連する問題