2016-06-16 94 views
0

为什么我的代码不能在localhost上工作?用户打开日历并选择日期后,应该弹出一条警报消息,但这不会发生。它正在jsfiddle.net上工作。Zebra datepicker选择事件没有触发

<!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> 
+0

你的JavaScript控制台有什么样的错误?当你在本地运行时,它是指'file:///'还是'http:// localhost /'? –

+0

我不带任何错误。我的意思是http:// localhost – Kerem

+0

您能否澄清一下“不起作用”的含义?这是否意味着日期选择器没有显示出来? (这就是我所假设的) –

回答

0

好吧,我戳了一下,发现可能是一个问题。

如果我理解正确,第二个电话.Zebra_DatePicker()被覆盖。第一选择,$('.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>

这个工作在我的本地。

在附注中,$(this).context.value 似乎不起作用 deprecated in jQuery 3.0(您碰巧正在使用它)。改为使用$(this).val()

+0

非常感谢你。你真的救了我。 – Kerem