JSF 2、OpenFaces、jQuery、および Uniform プラグインを使用するアプリケーションがあります。別の選択ボックスの値に基づいて動的に入力されるオプションを含む選択ボックスを持つフォームがあります。JSF 2 f:ajax タグを使用して、選択ボックスの再生成を開始します。
ajax 呼び出しを起動するボックスは次のとおりです。
<h:selectOneMenu id="applicant-employmentStatus-civilian"
value="#{membershipData.civilianEmploymentStatus}">
<f:selectItems value="#{lookup.civilianEmploymentOptions }"/>
<f:ajax event="change"
render="applicant-eligibility-base applicant-eligibility-ship applicant-eligibility-govtAgency"
onevent="ajaxCallback"/>
<o:validateCustom clientFunction="return validateEligibilityField(input.id);"
summary=""
detail="#{msgs['errormesg.eligibility.employment']}" />
</h:selectOneMenu>
この呼び出しから、他の 3 つの選択ボックスにデータが取り込まれます。
このページでは、Uniform プラグインも使用して、すべてのフォーム入力を装飾しています。document.ready() 関数では、これを構成するために以下が呼び出されます。
$('select, input:text, input:radio').uniform();
問題は、Ajax 呼び出しの後に 3 つの選択ボックスがレンダリングされると、装飾が「失われ」、FF や Chrome などで使用できなくなることです。IE では、フォーマットされていない選択ボックスが古いものの上に配置されます。ajaxCallback 関数で uniform() 関数を呼び出してみましたが、機能しません。
どんな助けでも大歓迎