【发布时间】:2016-01-23 15:15:51
【问题描述】:
更新这是对我的问题的完整更新
<!doctype html>
<html>
<meta charset="utf-8">
<meta name="author" content="Amsul - http://amsul.ca">
<meta name="viewport" content="width=device-width,user-scalable=no">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<title>Pickadate.js</title>
<link rel="stylesheet" href="../../lib/themes/default.css">
<link rel="stylesheet" href="../../lib/themes/default.date.css">
<link rel="stylesheet" href="../../lib/themes/default.time.css">
<!--[if lt IE 9]>
<script>document.createElement('section')</script>
<style type="text/css">
.holder {
position: relative;
z-index: 10000;
}
.datepicker {
display: block;
}
</style>
<![endif]-->
<body>
<?php
require 'connect-db.php';
try{
$stmt = $db->query("SELECT ddate FROM testdates");
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
}catch(\PDOException $e){
echo $e->getMessage();
}
$json_array = json_encode($result)
?>
<section class="section">
<form>
<fieldset>
<h3><label for="datepicker_id">Pick a date.</label></h3>
<input
id="datepicker_id"
class="datepicker"
name="date"
type="text"
value=""
data-value="">
<br><br><br><br><br>
<h3><label for="timepicker_id">Pick a time</label></h3>
<input
id="timepicker_id"
class="timepicker"
value=""
type="time"
name="time">
<!-- valuee="2:30 AM"
data-value="0:00" -->
<!-- <button type="button">Disable all dates</button>
<input class="button" type="submit" value="open"> -->
</fieldset>
</form>
<div id="container"></div>
</section>
<script src="../jquery.1.9.1.js"></script>
<script src="../../lib/picker.js"></script>
<script src="../../lib/picker.date.js"></script>
<script src="../../lib/picker.time.js"></script>
<script src="../../lib/legacy.js"></script>
<script type="text/javascript">
//datepicker
var disdates = <?php echo $json_array; ?>
var $input = $( '.datepicker' ).pickadate({
formatSubmit: 'yyyy/mm/dd',
min: true,
container: '#container',
// editable: true,
closeOnSelect: true,
closeOnClear: false,
disable: [ disdates
]
})
var picker = $input.pickadate('picker')
// picker.set('select', '14 October, 2014')
// picker.open()
// $('button').on('click', function() {
// picker.set('disable', true);
// });
</script>
<script type="text/javascript">
//timepicker
var dtimes = new Date(2015,11,28,5,30);
var $timeinput = $( '.timepicker' ).pickatime({
disable: [
[2,0],
dtimes
]
})
var timepicker = $timeinput.pickatime('picker')
</script>
</body>
</html> // i must thank users in php chatroom for helping me fix the errors.
上面是一个页面,您可以在其中看到日历,并且某些日期被禁用,这些日期是从数据库中获取的。我正在使用this picker
disable: [
[2015,29,9], // disables today strangely month -1 and only accepts yyy,mm,dd
[some other array]
]
})
在我的数据库中,'ddate' 是 varchar,没有主键,没有唯一 id,什么都没有,包含
2015,9,30
2015,9,31
2015,10,30
值没有被传递,或者从 mysql 到 javascript 什么的,我想我想要多维数组。
我希望 javascript 数组具有月份 -1,因为正如我上面解释的那样,在禁用这一天的禁用选项中,您必须输入上个月的数字。如果是第一个月,则表示 12。
请注意,我想对 timepicker 使用相同的方法,但如果我了解日历的问题,我想我可以自己做
【问题讨论】:
-
有什么问题和疑问?
-
这不是一个 jquery 问题恕我直言。您只需从数据库中选择值,迭代并创建一个包含日期和时间的数组,然后创建日期选择器并禁用:从该数组中。问题是您使用的是什么系统? PHP, C# ???你如何让你的页面到浏览器?在为客户端准备 HTML 时,您可以使用 AJAX 或将这些值加载到服务器上。信息太少了。
-
@TomFreudenberg 请重新阅读问题
-
@charlietfl 请重新阅读问题
-
从演示站点我看到月份实际上是 +1,而不是 -1。你能自己看看这个并确认你得到了 -1
标签: php jquery mysql ajax datepicker