日期picker在弹出窗口中被放错了位置

Datepicker getting misplaced in a popup

本文关键字:错了 位置 窗口 picker 日期      更新时间:2023-09-26

我使用jQuery datepicker作为弹出框的输入字段。

现在我面临的问题是,datepicker动态生成的节点正在附着在错误的身体上。

它应该被附加到弹出窗口。

这样,弹出窗口就会被错误地放置在基于body的高度而不是弹出窗口的位置。

谁能告诉我在这种情况下该怎么做?

问候,Sourabh .

你需要传递popupContainer的值

(el)美元。datepick ({popupContainer:"#模态"})

其中modal是你的弹出元素id

这是对jQuery Datepicker的引用

因为我确定问题出在生成的日期选择器分割附件上,而不是弹出窗口上,所以我必须弄清楚我必须做一些事情来控制每次滚动产生的偏移量。我所做的就是用

覆盖日期选择器div的固定位置
.ui-datepicker{
  position : absolute !important;
}

现在我可以使用输入元素的偏移量,并在每次弹出窗口生成时添加输入元素的高度。比如:

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

并使用以下代码设置beforeShowEvent上日期选择器的偏移量顶部:

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

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