jQuery UI datepicker をdivで囲む
jQuery UI datepickerを特定の場所(テキストボックスの下)に表示させたい、
かつ、下に余白が少なくても上付きにはしない。
※常に、テキストボックスの下にdatepickerを出したい
デフォルトのdatepickerは、body直下に position: absolute で配置されるので
これをインラインにし、divで囲む。
久々に仕事で使う機会があったので覚書。
Javascript/jQuery
$(function () {
$("#dpTextbox").datepicker({
dateFormat: 'dd/mm/yy',
showOn: 'both',
beforeShow: function (textbox, instance) {
$('.appendDatepicker').append($('#ui-datepicker-div'));
}
});
});
HTML
<form>
<div class="form-group">
<label for="dpTextbox">日付</label>
<input type="text" class="form-control" id="dpTextbox" name="dpTextbox" value="" placeholder="">
<div class="appendDatepicker"></div>
</div>
</form>
CSS
.appendDatepicker {
position: relative;
}
.ui-datepicker {
top: 0 !important;
left: 0 !important;
}
