Zenx Jquery Datepicker 禁用星期日和节假日
Posted
技术标签:
【中文标题】Zenx Jquery Datepicker 禁用星期日和节假日【英文标题】:Zenx Jquery Datepicker Disable sundays and holidays 【发布时间】:2012-05-20 21:13:57 【问题描述】:我正在使用 Zendx Jquery 来实现数据选择器。我需要禁用某些日期,我可以通过手动方式将 JS 添加到布局 html 页面,但 Zendx 会为您在页面上呈现它。
将JS添加到布局页面时,以下代码有效:
var unavailableDates = [
new Date(2012, 1, 20).valueOf(),
new Date(2012, 1, 27).valueOf()
];
function unavailable(date)
if (date.getDay() === 1 && $.inArray(date.valueOf(), unavailableDates) < 0)
return [true, ""];
else
return [false, "", "Unavailable"];
$(document).ready(function()
$("#date").datepicker(
beforeShowDay: unavailable
);
);
当我使用 Zendx 执行此操作时,这是我的表单代码:
$birthdate = new ZendX_JQuery_Form_Element_DatePicker('birthdate');
$birthdate->setLabel('Return Date:')
->setJQueryParam('dateFormat', 'dd.mm.yy')
->setJQueryParam('changeYear', 'false')
->setJqueryParam('changeMonth', 'true')
->setJqueryParam('regional', 'en')
->setJqueryParam('yearRange', "2012:2012")
->setJqueryParam('minDate', +1)
->setJqueryParam('maxDate', "+1m +10d")
//->setValue(Zend_Date::now()->toString('dd.MM.yyyy'))
//->setJqueryParam('beforeShowDay', unavailableDates)
->addValidator(new Zend_Validate_Date(
array(
'format' => 'dd.mm.yyyy',
)))
->setRequired(true);
它呈现在页面顶部:
<script type="text/javascript">
//
$(document).ready(function() $("#birthdate").datepicker("dateFormat":"dd.mm.yy","changeYear":"false","changeMonth":"true","regional":"en","yearRange" :"2012:2012","minDate":1,"maxDate":"+1m +10d","beforeShowDay":"unavailableDates"); ); //]]>
我得到一个控制台错误:
未捕获的类型错误:对象不可用日期没有“应用”方法
它不会调用函数availableDates,但它不会工作。有人遇到同样的问题吗?
干杯
J
【问题讨论】:
对,我得到了一些我禁用 Zend onLoad javascript 的地方,所以它只加载到库中。 this->view->jQuery() ->setRenderMode(ZendX_JQuery::RENDER_LIBRARY); 【参考方案1】:我已通过更改视图禁用 Zend Rendering Javascript onLoad 对其进行排序。所以现在 Zendx 只加载到库中,我可以在布局中运行我自己的 datepicker 代码:)!
this->view->jQuery() ->setRenderMode(ZendX_JQuery::RENDER_LIBRARY);
【讨论】:
以上是关于Zenx Jquery Datepicker 禁用星期日和节假日的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI Datepicker - 如何动态禁用特定日期
在 jQuery UI Datepicker 中禁用未来日期