我使用基思伍德的伟大的jQuery数据报警器。
日历链接到数据库。
从同一数据库中选择日期后,当日历显示为弹出(在相关输入字段中单击后)时,这些日期将被正确地突出显示,使用以下代码:
<input type="text" id="datepicker" name="datephp" value="<?php echo $allgluedatesok;?>">
<script>
$( "#datepicker" ).calendarsPicker({
inline:true,
multiSelect: 999,
monthsToShow: 2
});
</script>
当然,为了获得更好的可用性,这个日历总是显示的更好。
在这种情况下,当我使用以下代码…时,不会突出显示日期。
<div id="datepicker"></div>
<input type="hidden" id="hiddenFieldIDphp" name="datephp" value="<?php echo $allgluedatesok;?>">
<script>
$( "#datepicker" ).calendarsPicker({
inline:true,
multiSelect: 999,
monthsToShow: 2,
altField : '#hiddenFieldIDphp'
});
</script>
有人知道我在这里做错了什么吗?
发布于 2014-08-01 08:47:53
当您将Keith的datepick
日历链接到这样一个altField
时,只有datepick对象更新altField,而不是反过来.
因此,当您将日期放在输入的value
属性中时,任何事情都不会在datepick日历中触发,但是,当您在内联日历中选择日期时,输入将被正确更新。
因此,解决方案是在javascript中用PHP的结果手动设置datepick日历的日期:
<script>
$( "#datepicker" ).calendarsPicker({
inline:true,
multiSelect: 999,
monthsToShow: 2,
altField : '#hiddenFieldIDphp'
});
$( "#datepicker" ).calendarsPicker('setDate',<?php echo $commaseparatedDateStrings; ?>);
</script>
但是请注意,PHP $commaseparatedDateStrings
现在必须是类型:'07/31/2014','08/01/2014','08/02/2014'
(带有引号!)等等,以便它被正确地解析为javascript的'setDate‘函数参数.
PS:我把您的calendarsPicker()
放在代码中,但是当我下载Keith的数据机时,这个分机名为:datepick()
.
编辑:似乎要添加多个日期,您必须使用数组,而不是像我前面所说的那样无限期地传递许多参数.因此,使用'setdate'
的行应该是:
$("#datepicker").calendarsPicker('setDate',[<?php echo $commaseparatedDateStrings;?>]);
https://stackoverflow.com/questions/24926719
复制相似问题