3

selectOneMenu がある jsf ページがあり、selectOneMenu の変更時にダイアログ ボックスを開きたいです。

例として、ユーザーが jsf selectOneMenu から値 ="passive" を選択すると、同じページにダイアログ ボックスまたはライト ボックスが開き、ここで行ったような小さな jsf フォームを表示する必要があります (その小さな画像をクリックしてください (はい、このダイアログボックスのように、selectOneMenuで特定の値を選択した後に開きたい) http://www.primefaces.org/showcase-labs/ui/dialogLogin.jsf

また、送信したデータをバッキング Bean のどこかに保存して、後でデータベースに保存できるようにします。

valueChangeListener イベントまたは ajax イベントを使用して値の変更を識別するため、同じウィンドウでバッキング Bean からダイアログ ボックスまたはライト ボックスを開く方法がわかりません。

selectOneMenu(DropdownMenu) から選択された値を特定できますが、特定の値を選択するときにダイアログ ボックスを開く方法がわかりません。

<h:outputLabel
            value="* Country: "/>
        <h:selectOneMenu
            id="someSelect"
            value="#{testController.countryName}"
            required="true">
            <f:selectItem
                itemLabel="Select Country"
                itemValue=""/>
            <f:selectItems
                value="#{testController.countryNamesSelectItems}"/>
             </h:selectOneMenu>

selectItems にインドとオーストラリアの 2 つのオプションがあるとします。ユーザーがインドを選択すると、同じページにダイアログ ボックスが開き、ユーザーが情報を入力する必要があり、インド出身の場合は送信する必要があります ( http: //www.primefaces.org/showcase-labs/ui/dialogLogin.jsf (その小さな画像をクリックしてください (はい、このダイアログ ボックスのように、selectOneMenu で特定の値を選択した後に開きたい)) ユーザーは自分のユーザー名とパスワードを入力しますデータを送信します)

お役に立てれば

リッチフェイスt:selectOneMenuに対してここで行われたように、java スクリプト (jquery) を使用して selectOneMenu の選択された値をどのようにチェックインできます か Java スクリプトを使用して選択された値を取得する方法は? ?

4

1 に答える 1

5

onchangeの属性を使用h:selectOneMenuして、ダイアログを開くことができます。

 <h:selectOneMenu
        id="someSelect"
        value="#{testController.countryName}"
        required="true"
        onchange="dlg.show()">

の属性のdlg値として。これにより、サーバーがヒットする前にダイアログが開きます。widgetVarp:dialog

ajax リクエストの完了後にダイアログを開く場合は、次p:ajaxoncomplete属性を使用できます。

<p:ajax update=".." process=".." oncomplete="dlg.show()"/>

または、選択した値に応じてダイアログを開くようにしたい場合は、ラッパー関数を使用できます。

function showDialog() {
 if($('#IdOfYourSelectOneMenu').val() == 'India') {
   dlg.show();
 }
}

と:

<p:ajax update=".." process=".." oncomplete="showDialog()"/>
于 2012-06-04T06:12:38.870 に答える