Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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
JQuery ui-日期选择器,禁用特定日期_Jquery_Html_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

JQuery ui-日期选择器,禁用特定日期

JQuery ui-日期选择器,禁用特定日期,jquery,html,jquery-ui,jquery-ui-datepicker,Jquery,Html,Jquery Ui,Jquery Ui Datepicker,我正在尝试使用JQuery Ui禁用特定日期。但是,我没有运气,以下是我的代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <link rel="stylesheet" type="text/css" href="development-bundle/themes/ui

我正在尝试使用JQuery Ui禁用特定日期。但是,我没有运气,以下是我的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="development-bundle/themes/ui-lightness/jquery.ui.all.css">
<style type="text/css">
.ui-datepicker .preBooked_class { background:#111111; }
.ui-datepicker .preBooked_class span { color:#999999; }
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery UI Datepicker</title>
<script type="text/javascript" src="development-bundle/jquery-1.7.1.js"></script>
<script type="text/javascript" src="development-bundle/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="development-bundle/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="development-bundle/ui/jquery.ui.datepicker.js"></script>

.ui datepicker.preBooked_class{background:#111111;}
.ui datepicker.preBooked_class span{color:#999999;}
jQueryUI日期选择器
实例化datepicker对象

<script type="text/javascript">

    $(function() {
    $( "#iDate" ).datepicker({

    dateFormat: 'dd MM yy',
    beforeShowDay: checkAvailability
    });

    })

$(函数(){
$(“#iDate”).datepicker({
日期格式:“dd-MM-yy”,
展示日前:检查可用性
});
})
获取日历中要禁用的日期

    var unavailableDates = ["9-3-2012","14-3-2012","15-3-2012"];

function unavailable(date) {
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  if ($.inArray(dmy, unavailableDates) == -1) {
    return [true, ""];
  } else {
    return [false,"","Unavailable"];
  }
}

$('#iDate').datepicker({ beforeShowDay: unavailable });

</script>
</head>
<body>
<input id="iDate">
</body>
</html>
var不可用日期=[“2012年3月9日”、“2012年3月14日”、“2012年3月15日”];
功能不可用(日期){
dmy=date.getDate()+“-”+(date.getMonth()+1)+“-”+date.getFullYear();
如果($.inArray(dmy,不可用日期)=-1){
返回[真,“];
}否则{
返回[假,“,”不可用“];
}
}
$('#iDate').datepicker({beforeShowDay:unavailable});

它似乎不起作用,我不知道如何解决这个问题。干杯。

看起来您在一次输入中调用了两次日期选择器。遵循代码有点困难,但是如果您重新组织代码并删除第二个
日期选择器
调用,一切都会正常工作:

<script type="text/javascript">
    var unavailableDates = ["9-3-2012", "14-3-2012", "15-3-2012"];

    function unavailable(date) {
        dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
        if ($.inArray(dmy, unavailableDates) == -1) {
            return [true, ""];
        } else {
            return [false, "", "Unavailable"];
        }
    }

    $(function() {
        $("#iDate").datepicker({
            dateFormat: 'dd MM yy',
            beforeShowDay: unavailable
        });

    });
</script>

var不可用日期=[“2012年3月9日”、“2012年3月14日”、“2012年3月15日”];
功能不可用(日期){
dmy=date.getDate()+“-”+(date.getMonth()+1)+“-”+date.getFullYear();
如果($.inArray(dmy,不可用日期)=-1){
返回[真,“];
}否则{
返回[假,“,”不可用“];
}
}
$(函数(){
$(“#iDate”).datepicker({
日期格式:“dd-MM-yy”,
展会日前:不可用
});
});

查看这篇文章:

有用的答案。如果您想禁用特定的一天,可以执行以下操作:

          $scope.dateOptions = {
            beforeShowDay: unavailable
          };

          function unavailable(date) {
                if (date.getDay() === 0) {
                    return [true, ""];
                } else {
                    return [false, "", "Unavailable"];
                }
          }     

上述选项仅在星期日启用,其他所有日期将被禁用。希望这能有所帮助。

这是一个简单的问题,安德鲁。我如何调整这一点,以便从数据库表中检索日期,而不是在数组中硬编码不可用的日期。干杯。@bo2000:这取决于你的服务器端技术。但我可以想象,您会在页面加载时将排除日期数组嵌入页面,而不是使用PHP在JavaScript中硬编码它们。我需要查询数据库然后用结果集填充数组吗?@bobo2000:听起来不错。不过我对PHP不是很了解。听起来像是一个新问题的候选
:)
这很有效,但是如果不在数组中指定日期,我怎么做呢,它说接下来的三天是需要的。比如说,如果到了明天,它会选择下面三个