【问题标题】:Append jQuery UI datepicker to specific div将 jQuery UI 日期选择器附加到特定的 div
【发布时间】:2015-04-09 19:16:19
【问题描述】:

我正在使用带有一系列输入字段的 jQuery datepicker,并且希望将 datepicker 附加到包含输入字段的 div 而不是渲染 datepicker 的 body 元素。

有没有一种简单的方法可以做到这一点?谢谢!

【问题讨论】:

  • 似乎是一个非常笼统的问题,你有任何代码来说明你是如何实现它的吗?
  • 日期选择器在一个输入元素上被调用,该输入元素包含在一个应用了一个类的 div 中。例如。
    。我需要将 datepicker 附加到 .datepicker-wrapper 而不是正文。谢谢!
  • 我想做你所做的! @Tom 的答案不正确,为什么将其标记为正确答案?

标签: jquery jquery-ui datepicker


【解决方案1】:

我发现的最简单的解决方案是

$("#myDatePicker").datepicker({
    beforeShow:function(textbox, instance){
        $('.DivToAppendPicker').append($('#ui-datepicker-div'));
    }
});

【讨论】:

  • 虽然这确实有效,但对话框仍然具有topleft 样式值,这意味着选择器不会出现在预期位置附近。我尝试将 CSS 设置为上述解决方案的一部分,但 jQueryUI 正在覆盖它。还没想出解决办法
  • 在问了我自己的问题后,有一个solution to the position issue - 虽然它并不完美
【解决方案2】:

显示嵌入页面而不是覆盖的日期选择器。 只需在 div 而不是输入上调用 .datepicker()。

https://jqueryui.com/datepicker/#inline

【讨论】:

  • 即使被接受了,这个答案与问题完全无关,不解决。另见stackoverflow.com/questions/12351871/…
  • 你错了。这个答案正是他想要完成的。请阅读他的描述并再次发表评论。他希望将带有 .datepicker() 添加的代码的节点附加到特定的 div 而不是 body 元素。 $('div.datepicker-wrapper').datepicker() 在该 div 中生成 html。而这正是他想要的。 jsfiddle.net/mnzdrkhu
  • 附加到特定的 div,是的,但会弹出,并不总是可见。这与滚动错误有关(至少有 4 年之久,显然没有 jqueryui 的开发人员关心)
  • 你在哪里读到他想让它弹出?这不是任何地方都提到的要求,并且很容易使用简单的 js 或 css 来完成,您可以在其中设置 display: none 到焦点事件或其他东西
  • 这不是答案,例如,我希望将其附加到 #wrapperdiv 中,我可以为 #ui-datepicker-div 使用特定的 css,我知道这是一种 hack,但对于其他一些原因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
相关资源
最近更新 更多