我正在使用 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,但它不会工作。有人有同样的问题吗?
干杯
Ĵ