タイトルが示すように、見栄えを良くするために、ヘッダー (前、次、当月) を一番下に移動したいと思います。私は愚か者であり、それを設定する方法がありますか、それともハッキーな絶対配置でそれを行う必要がありますか?
3 に答える
これを行う方法は組み込まれていません。このbeforeShow
オプションを使用しても機能しません。これは、起動時に日付ピッカーの HTML がまだ作成されていないためです。datepicker ウィジェットはcreate
イベントを発生させる必要がありますが、発生しません (イベントのドキュメントにバグとして記載されています - http://jqueryui.com/demos/datepicker/ )。
focus
個人的には、これを処理する最もクリーンな方法は、 のイベントを使用することだと思いますinput[type=text]
。必ずしも理想的というわけではありませんが、これはあまりにもハッキリとは感じず、機能します。
$('input')
.datepicker()
.on('focus', function() {
$('.ui-datepicker-header').insertAfter('.ui-datepicker-calendar');
});
私の頭の上でこれを行うためのいくつかの方法:
datepickerクラスを拡張し、独自のHTMLを追加します
オプションを使用し
beforeShow
てDOMを変更します。ヘッダーを削除して、ピッカーの下部に追加します。
幸運を
このページの下部に、jqueryui datepicker のすべてのオプションのリストがあります。
http://jqueryui.com/demos/datepicker/
ヘッダーを移動するオプションが見つかりません。
ハックコードを使用する必要があると思います。
以下のような短いコードは、datepicker ヘッダーをその親要素の最後に移動し、カレンダーの下に表示する必要があります。datepicker オーバーレイを開きながら、コードを実行する必要があります。
jQuery('.ui-datepicker-header').each(function() { $(this).parent().append($(this)) })