Datepicker在弹出窗口中错位

时间:2014-03-27 10:56:18

标签: javascript jquery datepicker

我在弹出窗口中使用jQuery datepicker作为输入字段。

现在我面临的问题是datepicker动态生成的节点是否附加到错误的正文。

它应该附加到弹出窗口。

这样弹出窗口会根据身体的高度而不是弹出窗口错误地放置。

有人可以指导我在这种情况下该怎么做吗?

此致 Sourabh。

2 个答案:

答案 0 :(得分:0)

您需要传递popupContainer值

  

$(el)。datepick({popupContainer:'#modal'})

模态是弹出元素的ID

这引用了jQuery Datepicker

答案 1 :(得分:0)

由于我确定问题在于将生成的日期选择器分区附加到主体而不是弹出窗口,我不得不弄清楚我必须做一些能够抑制每个滚动产生的偏移的事情。所以我所做的是用

覆盖为datepicker div修复的位置
.ui-datepicker{
  position : absolute !important;
}

现在我可以使用input元素的偏移量,并在每次生成弹出窗口时添加input元素的高度。类似的东西:

var dpTopOffset = $("input#whateverId").offset().top + $("input#whateverId").height();

并使用此命令在beforeShowEvent上使用以下代码设置datepicker的偏移顶部:

$("input.datePick").datepicker({
   beforeShow: function(input, inst){
      $(inst).offset({top: dpTopOffset});
   }
});

虽然这是一种黑客但这对我有用!! :)