datepicker从数据库中启用特定日期

时间:2014-12-04 08:21:20

标签: javascript php postgresql datepicker

我尝试只启用数据库中的日期,经过多次研究后我想出了这些代码

这是我的剧本

 <script>
	<?php
	$dis = pg_query("SELECT 'date_purchased' FROM 'tree_solds';");
	foreach ($dis as $disa){
		$dis .="'".$disa."',";
		}
		$dis = substr($dis,0,-1);
	?>
	
	var array=[<?php echo $dis; ?>];
	
	jQuery(document).ready(function($) {
		$( "#datepicker" ).datepicker({ maxDate: new Date(),
		dateFormat: "yy-mm-dd",
		beforeShowDay: function(date){
			if($.inArray($.datepicker.formatDate('yy-mm-dd', date), array) > -1)
			{
				return [true,"","Available"];
			}
				else{
				return [false,'',"Not Available"];
			}
			}
		});
	});
	</script>

这些是我的html文件

<div><input type="text" id="datepicker" />
		

当我查询控制台时 显示的错误是这些

 GET http://localhost/resources/demos/style.css 
index.php:40 Uncaught SyntaxError: Unexpected token <
morris.min.js:6 Uncaught Error: Graph container element not found

这是我的第37至40行

<link rel="stylesheet" href="/resources/demos/style.css">
	 
	 <script>
	<?php

但是目前当我点击文本框时没有任何显示。我一直在看代码几个小时,似乎找不到任何错误。

在我输入这部分之前,一切都运转良好

<?php
	$dis = pg_query("SELECT 'date_purchased' FROM 'tree_solds';");
	foreach ($dis as $disa){
		$dis .="'".$disa."',";
		}
		$dis = substr($dis,0,-1);
	?>
	
	var array=[<?php echo $dis; ?>];

任何人都可以帮助我吗? 感谢

1 个答案:

答案 0 :(得分:0)

从初始化中删除maxDate: new Date()。而是将日期存储在某个变量中,然后将maxDate设置为该变量。同时删除引发错误的文件并尝试它。

演示:http://jsfiddle.net/lotusgodkk/yXMKC/1138/

$(document).ready(function ($) {
    var array = ["2014-12-9", "2014-12-12", "2014-12-15"]; //for testing
    $("#datepicker").datepicker({
        //maxDate: new Date(),
        dateFormat: "yy-mm-dd",
        beforeShowDay: function (date) {
            if ($.inArray($.datepicker.formatDate('yy-mm-dd', date), array) > -1) {
                console.log('in')
                return [true, "", "Available"];
            } else {
                console.log('n')
                return [false, '', "Not Available"];
            }
        }
    });
});