0

我在表单中添加了一个简单的 jQuery datepicker,一点也不复杂。

出于某种原因,在 IE9 中(没有测试过 IE8),它有时只显示。如果您不断刷新页面,有时会显示,有时不会。

该页面是http://hotel.danielblackmore.co.uk(它位于右上角的可用性检查器。

我已将其剥离并再次重新添加等,但有时仍仅显示。

Datepicker 在 jquery 网站上显示正常,所以我确定它是我所做的,但我无法解决这个问题。

有没有人经历过这个?

我的代码是:

    <script src="java/jquery.min.js" type="text/javascript"></script>
    <script src="java/jquery-ui.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="styles/jquery-ui.css" type="text/css" media="all" />
    <link rel="stylesheet" href="styles/ui.theme.css" type="text/css" media="all" />
    <link rel="stylesheet" href="styles/styles.css" type="text/css" media="all" />

    <script type="text/javascript">

        var $myBadDates = new Array                ("09/05/2011","13/09/2012","12/09/2012","26/09/2012","27/09/2012","15/05/2020");

        function checkBadDates(mydate){
        var $return=true;
        var $returnclass ="available";
        $checkdate = $.datepicker.formatDate('dd/mm/yy', mydate);
        for(var i = 0; i < $myBadDates.length; i++)
            {    
               if($myBadDates[i] == $checkdate)
          {
                $return = false;
                $returnclass= "unavailable";
                }
            }
        return [$return,$returnclass];
        }

        $(function() {
            $( "#arriving" ).datepicker({
                showOn: "button",
                buttonImage: "images/calendar.gif",
                buttonImageOnly: true,
                dateFormat: "dd/mm/yy",
                minDate: new Date(2012, 9 - 1, 9),
                beforeShowDay: checkBadDates,

            });

            $( "#departing" ).datepicker({
                showOn: "button",
                buttonImage: "images/calendar.gif",
                buttonImageOnly: true,
                dateFormat: "dd/mm/yy",
                minDate: new Date(2012, 9 - 1, 9),
                beforeShowDay: checkBadDates,

            });
        });
        </script>

我也试过没有禁用日功能,没有运气

问候

4

1 回答 1

0

问题很可能是脚本正在运行并尝试在加载 DOM 之前执行。(这也可以解释为什么它有时会随机工作,但有时却不能。)将 Javascript 代码放在一个$(document).ready(function() { ... });块中。

更好的是,将脚本块移动到文档的末尾——这是最好的方法,因为它允许在脚本加载时加载并显示文档的其余部分。

于 2012-09-09T09:28:25.083 回答