我想禁用每个星期日并指定DateFormat datepicker

时间:2014-11-06 13:15:24

标签: javascript jquery datepicker

我的网站上有一个日期选择器。现在我想禁用每个星期日,我也会指定dateformat。

当我尝试将它分开时,它可以正常工作,但是当我将它混合起来时它会失败。我担心这里有些不对劲。我在这里测试它并且一切正常,但不在我的网站上:http://jsfiddle.net/zXFGN/26/

这是我的代码:

<script>
$(function() {
$( "#datepicker" ).datepicker({ 
minDate: -0, 
maxDate: "+24M", 
dateFormat: "dd-mm-yy" 
});
});

$( "#datepicker" ).datepicker({ 
    beforeShowDay: noSunday
});

function noSunday(date){ 
      var day = date.getDay(); 
                  return [(day > 0), '']; 
  }; 
</script>

HTML

<input type="text" name="date" id="datepicker" value="" size="10" placeholder="dd- mm-yyyy">

我尝试了很多东西,但没有任何帮助。所以,我希望有人可以帮助我。

提前致谢!

亲切的问候,

Hajee

1 个答案:

答案 0 :(得分:0)

您的jsFiddle 有效,因为所选日期的格式不是代码中指定的格式。问题是您正在调用.datepicker({/*options*/})两次,第二次调用会覆盖您在第一次调用中设置的选项。初始化datepicker时,在单个调用中指定所有选项:

$(function() {
    $( "#datepicker" ).datepicker({ 
    minDate: -0, 
    maxDate: "+24M", 
    dateFormat: "dd-mm-yy",
    beforeShowDay: noSunday
  });
});

如果您必须在初始化日期选择器之后更新选项,那么您需要使用option方法,如下所示:

$('#datepicker').datepicker("option", "beforeShowDay", noSunday);

或者,如果您想同时更新多个选项,请传递更新选项的对象,如下所示:

$('#datepicker').datepicker("option", {
    beforeShowDay: noSunday
});

由jsFiddle引起的第二点混乱。你将它设置为运行onDomReady,这意味着jsFiddle创建一个DOM就绪回调来为你执行代码。这不是常规网页中的代码的工作原理;你需要在jQuery的DOM就绪处理程序中放置依赖于DOM的所有代码,就像第一次调用$( "#datepicker" ).datepicker({})而不是第二次调用一样。