4

看看这个页面。日期选择器本身(调用 on <div id="calendar">)最初设置的宽度为“68em”。然后我使用$("#calendar").children().css("width","auto");将宽度设置为自动(所以它填满了页面)。如您所见,这是可行的。然而,改变月份(使用按钮)会导致 jQuery 改变宽度。有没有正确的方法来解决这个问题?

4

2 回答 2

4

快速而肮脏的解决方案是使用! important覆盖元素上设置的样式:

#calendar .ui-datepicker-inline {
    width: auto ! important
}

这并不漂亮,但它可以毫不费力地完成工作。

于 2009-09-30T20:17:53.317 回答
0

您只能使用 CSS 将宽度设置为固定值。

如果您想使用 Javascript 设置 #calendar 的宽度,您应该将您的 JS 调整大小函数挂钩到 onChangeMonthYear 事件。

jQuery UI 网站

$('.selector').datepicker({
   onChangeMonthYear: function(year, month, inst) { ... }
});
于 2009-09-30T20:09:51.930 回答