3

問題は、ページをロードしたときにレンダリングされないフィールドをマスクする方法を知りたいということです。例: ユーザーが何かを行った後にのみレンダリングされる h:inputText があります。

ページをロードしたときに入力テキストが render=true の場合、正常に動作しますが、ユーザーがボタンを押す必要があり、条件に基づいて、アプリケーションは inputText をレンダリングするかどうかを決定します。

jQueryコードは次のとおりです。

$('input[name*="preco"]').maskMoney({symbol:"R$",decimal:".",thousands:","});

どうもありがとう。

4

1 に答える 1

4

スクリプトを条件付きでレンダリングするだけでもかまいません:

<h:inputText ... rendered="#{some condition}" />
<h:outputScript rendered="#{some condition}">maskMoney()</h:outputScript>

または、PrimeFaces コマンド コンポーネントを使用している場合は、PrimeFaces を利用しますoncomplete

<p:commandButton ... oncomplete="maskMoney()" />

または、を使用している場合は<f:ajax>、次を使用しoneventます。

<f:ajax ... onevent="function(data) { if (data.status == 'success') maskMoney() }" />
于 2012-09-05T01:47:20.353 に答える