2

最初のp:selectOneMenu要素が文字列「選択してください」であり、他の項目は選択するリストです。「選択してください」が選択されている場合は送信ボタンを無効にし、他の要素が選択されている場合はボタンを有効にできますか?私はそれが使用できることを知っていitemDisabledますが、それは私の要件ではありません。

<p:selectOneMenu value="#{bean.value}" id="selectId"
    filter="true" required="true" converter="itemConverter"
    filterMatchMode="contains" height="120">
    <f:selectItem itemLabel="Please select"/>
    <f:selectItems value="#{listBean.selectItemList}"></f:selectItems>
</p:selectOneMenu>

基本的に、最初の項目が選択されたときに送信ボタンを無効にします。

誰か助けてもらえますか?

4

2 に答える 2

5

交換したほうがいい

<f:selectItem itemLabel="Please select"/>

<f:selectItem noSelectionOption="true" itemLabel="Please select"></f:selectItem>

そして、jsfにあなたのrequiredために処理させてください...


ボタンを本当に無効にしたい場合は、#{bean.value}

このような

<p:commandButton id="myButonId" disabled="#{empty bean.value}"....

そしてあなたに追加<p:ajax update="myButonId"します<p:selectOneMenu

于 2013-02-21T07:04:05.007 に答える
1

こんにちはラジャス、なぜバッキングBeanでSelectItemListを使用して、バッキングBeanからそのリストにラベルと値を追加できないのですか?これを行う利点は、SelectItemListの最初のラベルとして「pleaseSelect」を追加し、値をnullとして追加できることです。したがって、SubmitButtonを無効にするために、SelectItemListの値に応じてtrueまたはfalseに設定できるブールフラグを設定できます( valuechangeListenerを使用し、そのメソッドでブールフラグを適宜更新します)。このソリューションがお役に立てば幸いです。

于 2013-02-21T07:19:16.643 に答える