我需要将datepicker放在广播月份,我想出了如何在不编辑代码的情况下完成它。到目前为止,它在大多数情况下都有效,但我遇到了问题。
首先,我的解决方法是这样的:
我有showOtherMonths:true, changeOtherMonths:true
这将在整个广播月的第一周获得。下一个月的第一周也会显示出来,所以我正在做的就是删除它(不删除一个月的最后一周结束于星期日)
$(function() {
$(document).bind("click keypress", function(){
// find "1" listed in outside month and hide the row
$("table.ui-datepicker-calendar tbody td.ui-datepicker-other-month").filter(function(){
return $.text([this]) == '1';
}).closest("tr").hide();
// remove styling that differentiates outside month
$(".ui-priority-secondary").removeClass("ui-priority-secondary");
});
});
这适用于Firefox和Chrome,但在IE8中(在兼容模式下),这只会在首次打开时修剪最后一行。如果单击日期选择器中的另一个月,则必须再次单击输入框或单击上面的代码块的日期选择器背景以触发。
我尝试用onChangeMonthYear
部分调用相同的代码是不成功的,但是从我可以告诉的一切,在IE中,这个代码在日历重新绘制新月之前运行,这意味着它在这个意义上是无用的
另外,我有changeMonth: true, changeYear: true
,在更改选择菜单时,上面的代码块无法在任何浏览器中运行,我也没有找到解决方法。
如果我可以通过这些最后的障碍,那么任何人都可以使用它来显示广播月而无需修改jquery-ui.js,以便他们可以使用谷歌等托管的代码。
谢谢!