multiDatesPicker:如何在不更改日期按钮颜色的情况下禁用单击?

时间:2012-09-07 12:51:14

标签: datepicker jquery-ui-datepicker

我在这里下载了multiDatesPicker: http://multidatespickr.sourceforge.net

我的问题是......

我只使用multiDatesPicker代表按代码添加日期。

我不想接收任何用户互动。

我知道如何禁用multiDatesPicker的唯一选择是“disabled:true”选项。 但这会使日历的添加日期按钮颜色发生变化。

我已经尝试使用css(.ui-state-disabled)更改不透明度,但它只是不透明度。

是否有人知道如何在不改变我们可以看到的任何内容的情况下禁用日历?

2 个答案:

答案 0 :(得分:1)

自我回答

此解决方案适用于datepicker和multidatespicker。只需按照两个步骤进行操作

首先,更改javascript

在您的“jquery.ui.datepicker.js”源代码中,请在下面找到

(unselectable ? '<span class="ui-state-default">' + printDate.getDate() + '</span>' : 
                         '<a class="ui-state-default' + ..

并将其更改为:

(/*(unselectable ? '<span class="ui-state-default">' + printDate.getDate() + '</span>' : 
                         */'<a class="ui-state-default' +

其次,添加css样式

#yourCal .ui-state-disabled {
    BACKGROUND-IMAGE: none; FILTER: none; opacity: .99;
}
.ui-datepicker .ui-datepicker-calendar .ui-state-highlight a {
    background: #743620 none;
    color: white;
}                       

答案 1 :(得分:0)

只需在日期选择器初始化代码中再添加一个选项,就可以了

 onSelect:function (dateText, inst) {
    var newDate = new Date();
    inst.drawMonth = newDate.getMonth();
    inst.drawYear = newDate.getFullYear();
    inst.currentMonth = newDate.getMonth();
    inst.currentYear = newDate.getFullYear();
}