私は次のようないくつかのコードを持っています:
private function onComboChange(evt:Event):void {
var temp:Date = df_date.selectedDate;
temp.date += 5;
df_dateDue.selectedDate = new Date(temp);
}
本質的に、私はdf_dateで選択した日付に5日を追加し、その日付をdf_dateDueに入れようとしています。これは、コンボボックスのEventListenerを介して起動します。df_dateとdf_dateDueはどちらもdateFieldsです。
OK、これを初めて実行するときは、正常に動作します。df_dateは同じままで、df_dateDueはdf_dateの5日後に設定されます。ただし、次に実行すると、df_dateDueはdf_dateから10日ずつ増加し、次回は15日ずつ増加します。
したがって、コードをステップスルーすると、df_dateが一時変数にリンクされ、関数が呼び出されるたびに一時変数がリセットされないことがわかります。
例:df_date = 01 Jan、df_dateDue =01Jan。
イベントを開始します、df_date = 01 Jan、df_dateDue = 06 Jan
もう一度イベントを開始します。この時点で、var temp = 06 Jan(df_dateはまだ01 Janを示していますが)、df_dateDueは11Janに設定されます。
もう一度イベントを開始します。この時点で、var temp = 11 Jan(df_date = 01 Janであっても)、df_dateDueは16Janに設定されます。
ここで何が欠けていますか?