Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Datepicker仅显示星期一并禁用某些星期一_Javascript_Jquery_Date_User Interface_Datepicker - Fatal编程技术网

Javascript jQuery Datepicker仅显示星期一并禁用某些星期一

Javascript jQuery Datepicker仅显示星期一并禁用某些星期一,javascript,jquery,date,user-interface,datepicker,Javascript,Jquery,Date,User Interface,Datepicker,在jQuery datepicker的beforeShowDay参数中,我无法将仅显示周一和禁用特定日期结合起来。。。我希望用户只能选择星期一,除了2012年2月20日和2012年2月27日,但不知道如何实现这一点 <script type="text/javascript"> var unavailableDates = ["20-02-2012", "27-12-2012"]; function unavailable(date) {

在jQuery datepicker的beforeShowDay参数中,我无法将仅显示周一和禁用特定日期结合起来。。。我希望用户只能选择星期一,除了2012年2月20日和2012年2月27日,但不知道如何实现这一点

    <script type="text/javascript">
        var unavailableDates = ["20-02-2012", "27-12-2012"];
        function unavailable(date) {
        dmy = (date.getDay() == 1);
        if ($.inArray(dmy, unavailableDates) == -1) {
            return [true, ""];
        } else {
            return [false, "", "Unavailable"];
        }
        }
    </script>
    <script type="text/javascript">
       $(function () {
          $("#datepicker").datepicker({
            beforeShowDay: unavailable,
            minDate: 0
          });
       });
    </script>

var不可用日期=[“20-02-2012”,“27-12-2012”];
功能不可用(日期){
dmy=(date.getDay()==1);
如果($.inArray(dmy,不可用日期)=-1){
返回[真,“];
}否则{
返回[假,“,”不可用“];
}
}
$(函数(){
$(“#日期选择器”)。日期选择器({
展会日前:不可用,
minDate:0
});
});

您需要将传入的日期与另一个日期对象进行比较。而是将其与字符串数组中的项进行比较

我将使用
valueOf
getTime
,返回UTC 1月1日以来的毫秒数进行比较:

var不可用日期=[
新日期(2012年1月20日)。valueOf(),
新日期(2012年1月27日)。valueOf()
];
功能不可用(日期){
如果(date.getDay()==1&$.inArray(date.valueOf(),unavailableDates)<0){
返回[真,“];
}否则{
返回[假,“,”不可用“];
}
}
$(文档).ready(函数(){
$(“#日期”).datepicker({
展会日前:不可用
});
});​

示例:

您需要将传入的日期与另一个日期对象进行比较。而是将其与字符串数组中的项进行比较

我将使用
valueOf
getTime
,返回UTC 1月1日以来的毫秒数进行比较:

var不可用日期=[
新日期(2012年1月20日)。valueOf(),
新日期(2012年1月27日)。valueOf()
];
功能不可用(日期){
如果(date.getDay()==1&$.inArray(date.valueOf(),unavailableDates)<0){
返回[真,“];
}否则{
返回[假,“,”不可用“];
}
}
$(文档).ready(函数(){
$(“#日期”).datepicker({
展会日前:不可用
});
});​

示例:

太好了,这非常有效。不过,我有一个问题。当指定月份为1月(1)时,为什么会禁用2月20日和27日<代码>新日期(2012,1,20).valueOf()因为
Date
构造函数的
month
参数是基于0的。查看文档了解更多信息。太好了,这是完美的工作。不过,我有一个问题。当指定月份为1月(1)时,为什么会禁用2月20日和27日<代码>新日期(2012,1,20).valueOf()因为
Date
构造函数的
month
参数是基于0的。有关更多信息,请参阅文档。