page_adsence

2011年5月11日水曜日

jCalendar.jsでは年月日のセレクトボックスが必ずないと挙動がおかしくなる

今までjCalendar使ってましたが、今回初めて年月しかないセレクトボックスを作った際の挙動がおかしかった点。
1ヶ月間の数字の集計をする際に、セレクトボックスで年月を指定するように作ったのだが、
postして次の画面に進んだ後に戻るとHTMLにselectedときちんと書かれているにも関わらず、
別の月が選択されてしまうという現象が起こった。

HTMLの記述は間違ってなさそうだし、そもそも別の部分(年月日)で試した場合は問題ない。
で、Firebugでブレイクポイントを設定してリロードしてみた。
すると、最初はちゃんとした月が選択されているが、

$(要素).jcalendar();

を実行された後に月が当月に変ってしまう状態になっていた。
別のところでは問題なく動いているので、jCalendar自体がバグっているとは考えにくい。
なので、とりあえず日のセレクトボックスを足してみたら、
見事にちゃんとした挙動になりました。

本来ならソース読んでから対応するのが当たり前なのですが、
ちょっと急いで帰りたかったら、とりあえずおk。
後でソース読もう。