- - PR -
YAHOO UI カレンダーで、初期化後に選択日付を変更する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-09-18 17:46
いつもお世話になります。
現在、YAHOO UI のカレンダーライブラリを使用して 開発をしています。 カレンダー表示時の初期選択日付を指定したい場合、 cal = new YAHOO.widget.Calendar("cal","calDiv",{selected:"18/9/2008"}); cal.render(); とすると思うのですが、 この処理を、1度render();した後に、何度も繰り返しても問題無いのでしょうか? 具体的な説明をしますと、 現在、年月日のセレクトメニューとカレンダー表示用のボタンを用意しており、 この年月日セレクトメニューは、カレンダーからの日付セット以外に、 手動でも日付の変更が可能となっています。 手動で日付の変更をした後にカレンダーボタンをクリックした場合、 セレクトメニューの値を拾って、カレンダーの初期選択日付にしたいのです。 いまは、 1.ページロード時に cal = new YAHOO.widget.Calendar("cal","calDiv",{selected:"18/9/2008"}); cal.cfg.setProperty("MONTHS_LONG", ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]); cal.cfg.setProperty("WEEKDAYS_SHORT", ["日", "月", "火", "水", "木", "金", "土"]); cal.selectEvent.subscribe(selectDate, cal1, true); cal.hide(); cal.render(); とし、この段階ではカレンダーを非表示とし、 2.カレンダー表示用のボタンをクリック時にもう一度、 cal = new YAHOO.widget.Calendar("cal","calDiv",{selected:"18/9/2008"}); ←ここはセレクトメニューの値をセット cal.cfg.setProperty("MONTHS_LONG", ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]); cal.cfg.setProperty("WEEKDAYS_SHORT", ["日", "月", "火", "水", "木", "金", "土"]); cal.selectEvent.subscribe(selectDate, cal1, true); cal.hide(); cal.render(); cal.show(); としていますが、非常に行儀の悪いことをしているのような気がします。 初期日付のセットだけを、インスタンス生成と別に行う手段はないのでしょうか? こういった処理はよくあることだとおもうのですが、 サンプルを見つけることができませんでした。 基本的な話で申し訳ないのですが、よろしくお願いいたします。 |
|
投稿日時: 2008-09-19 19:32
お世話になります。
いろいろ調べていたのですが、 protocalendar.js (http://labs.spookies.jp/demo/protocalendar/sample/calendar_usage.html) で簡単に実現できましたので、こちらのライブラリで行くことにしました。 お騒がせ致しました。 |
1