【问题标题】:jQuery Datepicker error displayingjQuery Datepicker错误显示
【发布时间】:2015-02-02 22:21:56
【问题描述】:

我有一个 PHP 函数,它从数据库中获取需要在日期选择器上突出显示和禁用的日期。

如果我声明日期,我有一个可以工作的函数

var disabledDates = ["12-02-2015"]; 

但是当我尝试使用

var disabledDates = <?php echo $date_list); ?>; 

日期选择器从屏幕上消失了。发生这种情况有什么原因吗?

【问题讨论】:

    标签: javascript php jquery date datepicker


    【解决方案1】:

    你是说当没有日期被禁用时,该行的最终输出是:

    var disabledDates = ;
    

    如果是这种情况,那么该行将出现 javascript 解析器错误,并且不会执行任何后续 javascript,这意味着永远不会创建日期选择器。

    【讨论】:

    • 嗯,我明白了。有什么办法可以在 var disabledDates 中预先设置一些,然后将数据库日期添加到其中?
    【解决方案2】:

    不要尝试使用字符串连接来制作 json,而是使用json_encode

    $ date_list = json_encode($dates);

    这样即使$dates 为空,您也将始终拥有有效的 json

    【讨论】:

    • 使用json_encode生成的javascript是什么样子的?
    • 当我在 $date_list 上执行 var_dump 时,我得到 string(14) "["20-02-2015"]"
    • 当然可以,但是实际的 javascript 变量声明是什么样的?
    • 你是在谈论我在控制台中得到的东西吗?如果是这样,我会得到混合内容:“https://”处的页面是通过 HTTPS 加载的,但请求了不安全的资源“ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js”。 ...此请求已被阻止;内容必须通过 HTTPS 提供。 bookholiday.php:189... 未捕获的 SyntaxError:意外的令牌
    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2010-11-09
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多