我对angularjs ui datepicker有一个“小”问题 . 我需要以某种方式表明,如果带有datepicker附加的输入,应该显示输入左下角的弹出窗口(默认情况下)
或者如果我想从输入的右下角代替它 . 这是因为在我创建的页面中,我的输入非常接近页面的右侧,当我附加日期选择器时,会发生这种情况(日期选择器被剪切,现在出现水平滚动):
但问题是我需要两个位置的日期选择器(根据图像中的相关案例) .
有人知道如何解决这个问题?我已经尝试更改datepicker弹出模板中内联的 left
属性,但它始终是固定值,我认为这不是真正的选择 .
谢谢
5 回答
如果要实现通用解决方案,只需通过更改
datepicker-popup
的模板就无法实现 .你必须更改指令内的
updatePosition
函数,以便scope.position.left
等于这样的东西:但是,你必须确保在看到popuEl宽度后“读取”popuEl宽度,否则你将得到零 . 此外,如果您转到另一种模式(月份或年份选择),虽然弹出宽度可能会改变,但位置不会更新 .
我只想说这个特点不是一两行更改,而且可能最好在_2978647中打开一个请求 . 有人可能愿意进一步调查这个!
https://github.com/angular-ui/bootstrap/issues/1012
丑陋的黑客:
魔术CSS:
现在最新的angular-ui 1.2.0版本在uib-datepicker-popup设置中有
popup-placement
选项 .文档的快速摘要 .
在你的情况下,我认为
bottom-right
将起作用 .玩this plunker了解更多详情 .
这个CSS解决方案可能比更改/破解你的角度.js文件更简单:
将你的日期选择器包装在div中,然后覆盖datepicker的.dropdown-menu类的边距CSS:
然后,在CSS中:
是的,我如上所述攻击了我的angular-ui.0.7.0.tpls.js文件并且工作得很好: