2

私はicefaceのselectInputDateを使用しています。.jspx ファイルのコードは次のとおりです。

<ice:selectInputDate id="Dt" 
        value="#{actionsBean.MDate}"
        renderAsPopup="true" required="true"
        partialSubmit = "true"
        popupDateFormat="#{msgs.date_format}" 
        valueChangeListener = "#{actionsBean.mDateChangeListener}">
                          <f:converter converterId="MDateConverter" />      </ice:selectInputDate>

問題は実際には次のとおりです。入力の値がデフォルトで空の文字列であることを望みます。MDate null 値に設定すると、パネルが開き、ユーザー (この場合は私) が作業してパネルを閉じた後、null 値を MDate に再度設定します。しかし、もう一度パネルを開くと、カレンダーで選択した最後の値が保存され、自動的に入力されました。これを解決するにはどうすればよいですか?ありがとうございます。

4

3 に答える 3

1

パネルを閉じると、selectInputDate コンポーネントはページ上で再描画されず、古い値が返されます。たとえば、親パネルの表示/非表示に「rendered=true/false」プロパティを使用する場合です。

修正するには、「rendered」の代わりに「visibled」プロパティを使用するか、selectInputDate コンポーネントで明確な値のバインディングを直接使用します

于 2013-09-30T15:29:10.010 に答える
0

valueChangeListener実際にをリスナーに置き換えてf:ajax、違いを確認してみてください。

<h:form id="dateForm">
....
<ice:selectInputDate id="Dt" 
    value="#{actionsBean.MDate}"
    renderAsPopup="true" required="true"
    partialSubmit = "true"
    popupDateFormat="#{msgs.date_format}">
        <f:converter converterId="MDateConverter" />      
        <f:ajax execute="@this" render="@form" 
              listener = "#{actionsBean.mDateChangeListener}">
</ice:selectInputDate>
...
</h:form>
于 2013-09-25T04:27:40.963 に答える