Zebra datepicker选择事件未触发

时间:2016-06-16 23:29:11

标签: javascript jquery

为什么我的代码不能在localhost上运行?在用户打开日历并选择日期之后,应该弹出警报消息,但这不会发生。它正在jsfiddle.net上工作。

<!doctype html>
<html>
    <head>
        <title>Zebra_DatePicker examples</title>
        <link rel="stylesheet" href="http://dl.dropboxusercontent.com/u/14855/zebra/css/default.css" type="text/css">
        <script type="text/javascript" src="http://code.jquery.com/jquery-3.0.0.min.js"></script>
        <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/Zebra_datepicker/1.9.4/javascript/zebra_datepicker.js"></script>
    </head>
    <body>
        <input type="text" class="datepicker" id="date1" value="Select First Date"/>
        <input type="text" class="datepicker" id="date2" value="Select Last Date"/>
        <script>
            $(document).ready(function() {
            $(".datepicker").Zebra_DatePicker({ format: "d-m-y" }); 
         });
            $("#date1").Zebra_DatePicker({
              onSelect: function() {
                $(this).change();
                alert($(this).context.value);
              }
            });
        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

好的,我四处寻找,发现可能存在问题。

如果我理解正确,$('.datepicker')的第二次调用将被覆盖。第一个选择$('#date1')发生在之后更具体的$.ready()。在页面加载期间初始化专用日期选择器。当onSelect发生时,特殊日期选择器会被其他日期选择器覆盖,从而删除$.ready

您可以通过将两者放在<!doctype html> <html> <head> <title>Zebra_DatePicker examples</title> <link rel="stylesheet" href="http://dl.dropboxusercontent.com/u/14855/zebra/css/default.css" type="text/css"> <script type="text/javascript" src="http://code.jquery.com/jquery-3.0.0.min.js"></script> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/Zebra_datepicker/1.9.4/javascript/zebra_datepicker.js"></script> </head> <body> <input type="text" class="datepicker" id="date1" value="Select First Date"/> <input type="text" class="datepicker" id="date2" value="Select Last Date"/> <script> $(document).ready(function() { $(".datepicker").Zebra_DatePicker({ format: "d-m-y" }); $("#date1").Zebra_DatePicker({ onSelect: function() { $(this).change(); alert($(this).val()); } }); }); </script> </body> </html>处理程序中来修复它,如下所示:

&#13;
&#13;
$(this).context.value
&#13;
&#13;
&#13;

这适用于我的本地主机。

在旁注中,$(this).val() 似乎无法正常工作here(您恰好正在使用它)。请改用{{1}}。