我正在使用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”});}); //]]>
我收到一个控制台错误:
未捕获的TypeError:对象unavailableDates没有方法'apply'
它不会调用函数unavailableDates但它不会工作 . 有人有同样的问题吗?
干杯
Ĵ
1 回答
我通过更改视图禁用Zend Rendering Javascript onLoad对其进行了排序 . 所以现在Zendx只加载库,我可以在布局中运行我自己的datepicker代码:)!
this-> view-> jQuery() - > setRenderMode(ZendX_JQuery :: RENDER_LIBRARY);