jQuery Datepicker有时只显示

时间:2012-09-09 09:23:03

标签: jquery jquery-ui

我在表单中添加了一个简单的jQuery日期选择器,根本不复杂。

出于某种原因,在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>

我已经尝试过没有残疾人日功能,没有运气

此致

1 个答案:

答案 0 :(得分:0)

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

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