1

Tomcat6でPrimefaces3.3.1を使用してJSF2.0Mojarraアプリケーションを作成しています。PrimeFaces<p:calendar>コンポーネントを使用して、将来の日付を無効にする必要があります。maxdate属性を現在の日付に設定する必要があることに気付きました。しかし、これを達成するための最も簡単な方法はわかりません。

のマネージドBeanを作成できることに気付きましたjava.util.Dateが、これは国際的なアプリケーションであり、ユーザーの場所を考慮する必要があります。ユーザーが世界の反対側にいる場合、サーバーの日付が正しくない可能性があります。

では、ユーザーの場所で現在の日付を取得し、<p:calendar>maxdate属性をその値に設定する最も簡単な方法は何ですか? 可能であれば、完全にクライアント側のソリューションが理想的です。

4

4 に答える 4

5

Primefaces のチーフCagatay Civicip:calendar maxDateがすでに述べたように、その理由で使用できます 。facelets と JS を混同する必要がないので、次のようにしました。

ファクレット:

<p:calendar maxdate="#{bean.today}" />

豆:

public Date getToday() {
        return new Date();
    }

したがって、選択可能な未来はありません。

于 2012-11-21T11:40:37.290 に答える
0

クライアントシステムの日付を取得できます。

<p:calendar>カレンダーはjquery-uiウィジェットです。widgetVarを定義し、javascriptを使用してmaxdateを設定することで、クライアントアクセスを設定できます。

<p:calendar widgetVar="myCalendar" />
<script type="text/javascript">
     jQuery(document).ready(function(){
        myCalendar.jqEl.datepicker("option", "maxDate", +0);//set maxDate to today
     });     
</script>
于 2012-06-28T22:26:41.473 に答える
-2

its more simple than that it disable all the past dates until the current day

于 2013-03-11T21:36:48.520 に答える