我的网站上有一个日期选择器。现在我想禁用每个星期日,我也会指定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
答案 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({})
而不是第二次调用一样。