0

我正在使用对 PHP 的 Ajax 调用来返回用户可用的日期字符串,以使其动态化。

我将字符串返回给我的 jQuery:

['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013']

但是,当我初始化 datePicker 时,该日期字符串不会加载。

我不太确定为什么,我怀疑它在我的 Ajax 调用之后是我的成功功能。

我的 jQuery 代码如下所示:

$('.vendor_id').change(function()
    {
        var vendor_id = $('option:selected', this).attr('title');

        var url = "/admin/po/get_user_dates/" + vendor_id;

        $.ajax({
            type : "POST",
            url  : url,
            success: function(unavaildates)
            {
                var disabledDays = unavaildates;

                function disableAllTheseDays(date) {
                    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
                    for (i = 0; i < disabledDays.length; i++) {
                        if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
                            return [false];
                        }
                    }
                    return [true];
                }


                $('.booking-date').datepicker(
                        {
                            beforeShowDay: disableAllTheseDays,
                            numberOfMonths: 2,
                            dateFormat: 'DD, d MM, yy',
                            showButtonPanel: true
                        }
                )

            }
        })
    })

希望有人打电话帮助我。

快速更新.. 将 disabledDays 分配给 ['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013',' 7-20-2013','7-21-2013','7-22-2013'] datePicker 工作...?

提前致谢。

4

1 回答 1

2

因为您正在从服务器检索字符串而不是数组。

我建议从服务器返回没​​有方括号的字符串"'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'"并创建这样的数组:

var unavaildates = "'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'"
var disabledDays = unavaildates.split(',');
于 2013-07-11T15:40:17.297 回答