0

前の質問から、p:calendarで特定の日付を無効にすると、次のように Javascript を使用して特定の日付を無効にできることがわかりました。

  var disabledDays = ["5-15-2013", "6-23-2013"];
  function disableAllTheseDays(date) {
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
    for (i = 0; i < disabledDays.length; i++) {
        if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
            return [false];
        }
    }
    return [true];
}

と:

<p:calendar id="pfdate" navigator="true" pattern="MM-dd-yyyy" 
      value="#{day}" BeforeShowDay="disableAllTheseDays" showOn="button"/>

しかし、私の質問は、disabledDaysEL式を使用して日付を配列に保存するにはどうすればよいですか? 無効にする必要がある日付が異なるため、これを行う必要があります。無効化の日付は動的である必要があります。EL式でこれを行うことができない場合、動的データを持つ配列を使用する方法はありますか?

ありがとう

4

1 に答える 1

1

1 つの可能性は、値を Bean ( ["5-15-2013", "6-23-2013"]) に変換し、Javascript コードに直接配置することです。

var disabledDays = #{myBean.disabledDays};

それは最もきれいなものではありませんが、最も簡単です。もう 1 つの可能性は、Bean に文字列のリストを持ち、<ui:repeat>それをコンマ区切りのリストとして出力するために使用することです。

于 2013-06-24T09:02:20.857 に答える