Jquery ui 在带有服务器端数据的日期选择器上显示事件

Jquery ui 在带有服务器端数据的日期选择器上显示事件,jquery-ui,datepicker,Jquery Ui,Datepicker,我一直在忙着为一个客户创建一个解决方案,事实证明这比我想象的要困难一些。我使用jQuery Datepicker小部件从服务器端代码显示日历事件(每月视图)。除了CSS之外,下面代码中的所有内容都可以工作。这并没有改变任何事情,似乎我已经尝试了世界上的一切 日历在页面加载(MVC)的月视图中显示,如果用户有事件,则当天的背景颜色应不同。此外,当用户每月更改时,同样的逻辑也会发生(对服务器的ajax调用)。同样,这一切都运作良好。我更改背景颜色的指令将不会生效 <script type="t

我一直在忙着为一个客户创建一个解决方案,事实证明这比我想象的要困难一些。我使用jQuery Datepicker小部件从服务器端代码显示日历事件(每月视图)。除了CSS之外,下面代码中的所有内容都可以工作。这并没有改变任何事情,似乎我已经尝试了世界上的一切

日历在页面加载(MVC)的月视图中显示,如果用户有事件,则当天的背景颜色应不同。此外,当用户每月更改时,同样的逻辑也会发生(对服务器的ajax调用)。同样,这一切都运作良好。我更改背景颜色的指令将不会生效

<script type="text/javascript">
    $(document).ready(function () {

        $.expr[":"].exactly = function (el, i, m) {
            var s = m[3];
            if (!s) return false;
            return eval("/^" + s + "$/i").test($(el).text());
        };

        var currentYear = (new Date).getFullYear();
        var currentMonth = (new Date).getMonth();

        function getTheData(year, month) {
            var theYear = year;
            var theMonth = month;
            //alert(theYear + ", " + theMonth);

            $.post("GetMeSomeData", { year: theYear, month: theMonth }, function(data) {
                //cycle through the dates and address the CSS appropriately
                var i = 0;
                for (i = 0; i < data.length; i++) {
                    $('.ui-datepicker-calendar td a:exactly(' + data[i]['d'] + ')')
                        .css({ backgroundColor: 'blue' });
                }
            });
        }

        $('#date').datepicker({
            inline: true,
            beforeShowDay: getTheData(currentYear, currentMonth),
            onSelect: function (dateText, inst) {
                Date.prototype.toString = function () { return isNaN(this) ? 'NaN' : [this.getDate(), this.getMonth(), this.getFullYear()].join('/'); };
                d = new Date(dateText);
                //alert(d.getDate() + ", " + d.getFullYear());
                getTheData(d.getFullYear(), d.getDate());
            },
            onChangeMonthYear: function (year, month, inst) {
                //alert(year + ", " + month);
                getTheData(year, month);

            }
        });
    });

</script>

$(文档).ready(函数(){
$.expr[“:”].justice=函数(el,i,m){
var s=m[3];
如果(!s)返回false;
返回eval(“/^”+s+“$/i”).test($(el.text());
};
var currentYear=(新日期).getFullYear();
var currentMonth=(新日期).getMonth();
函数获取数据(年、月){
年=年;
var theMonth=月份;
//警报(年份+,“+月份);
$.post(“GetMeSomeData”,{year:theYear,month:theMonth},函数(数据){
//循环浏览日期并适当地处理CSS
var i=0;
对于(i=0;i
不是吗:
.css({background color:'blue'})
?@cruxi-Nope,接收对象的.css()版本属性为CamelCased,请参考另一个正常版本
.css('background-color','blue')尝试使用
.css('background-color','blue!important')强制样式我尝试了强制!重要的。没有金子。我想知道我是否没有循环返回数据,对吗?