2010-08-13 169 views
6

親愛的我在窗體裏面有一個日期選擇器。 我點擊文本框後,日期選擇器顯示爲向上(反轉,下拉)。 我該怎麼辦,如果我想顯示日期選擇器下拉不dropup? http://img413.imageshack.us/img413/1460/screenshot5g.png如何設置datepicker的顯示位置?

+0

你忘了在你的問題中提到jQuery。沒人會知道你在說什麼日期選擇器。我知道,因爲我回答你的最後一個問題:) – vikmalhotra 2010-08-13 05:02:49

+0

@lznogood - 這個問題已經標記爲因爲我上次評論時可能錯過了它們。 – vikmalhotra 2010-08-13 05:08:17

回答

0

在此post尋找解決方案。這是你在找什麼?

+0

@Shivik:哪個更好的命令可以讓我的日期選擇器顯示:向下 - 然後向右? – klox 2010-08-13 06:15:03

+0

@klox - 您使用的是哪個jquery datepicker?你使用的是jquery-ui datepicker(http://jqueryui.com/demos/datepicker)還是其他的? – vikmalhotra 2010-08-13 06:27:31

+0

@Shivik:當然是,並使用陽光主題。 – klox 2010-08-13 06:35:17

10
$('.datetime').datepicker({ 
    dateFormat: 'm/d/yy', 
    beforeShow: function (input, inst) { 
     var offset = $(input).offset(); 
     var height = $(input).height(); 
     window.setTimeout(function() { 
      inst.dpDiv.css({ top: (offset.top + height + 4) + 'px', left: offset.left + 'px' }) 
     }, 1); 
    } 

}); 
+0

對於那些想知道它背後的邏輯[檢查此](http://api.jqueryui.com/datepicker/#option-beforeShow) – 2017-07-04 07:42:57

0

擴大伊戈爾的答案。要將日曆放置在日期選擇器輸入元素的右下角,請使用:

$('.datepicker').datepicker({ 
    beforeShow: function (input, inst) { 
     var offset = $(input).offset(); 
     window.setTimeout(function() { 
      var calWidth = inst.dpDiv.width(); 
      var inpWidth = $(input).width() + parseInt($(input).css('padding')); 
      inst.dpDiv.css({ left: offset.left + (inpWidth - calWidth) + 'px' }) 
     }, 1); 
    } 
});