Zend和jQuery日期选择器产生意外结果

Zend和jQuery日期选择器产生意外结果,jquery,zend-framework,zend-form,jquery-ui-datepicker,Jquery,Zend Framework,Zend Form,Jquery Ui Datepicker,我有一个Zend表单,为此我通过以下方式启用了jQuery组件: ZendX_JQuery::enableForm($this); 然后添加了几个非jQuery元素和一个jQuery日期选择器,定义如下: $testing = new ZendX_JQuery_Form_Element_DatePicker('dp1', array('jQueryParams' => array('dateFormat' => 'yy-mm-dd'))); $testing->setLabe

我有一个Zend表单,为此我通过以下方式启用了jQuery组件:

ZendX_JQuery::enableForm($this);
然后添加了几个非jQuery元素和一个jQuery日期选择器,定义如下:

$testing = new ZendX_JQuery_Form_Element_DatePicker('dp1', array('jQueryParams' => array('dateFormat' => 'yy-mm-dd')));
$testing->setLabel('Date of Birth 2')
    ->setRequired(true)
    ->addValidator('NotEmpty');
然后,我按照如下方式设置装饰器(首先针对所有元素,然后替换日期选择器的装饰器定义):

这似乎正确地显示了我的所有字段,但DatePicker除外,它以某种方式被转换为文本字段。该字段的HTML如下所示:

<div class="element-block">
    <label for="dp1" class="required">Date of Birth 2</label> 
    <input type="text" name="dp1" id="dp1" value="">
</div>

出生日期2
这不是一个日期选择器。我在设置过程中遗漏了什么,或者我在这里犯了什么错误


非常感谢。

找到了答案,至少部分找到了。我忘记在视图中包含以下代码,这意味着该字段没有转换为日期字段:

<script>
    $(function() {
        $("#dp1").datepicker();
    });
</script>

$(函数(){
$(“#dp1”).datepicker();
});
将文本字段更改为日期选择器。但这并没有保留Form类中设置的任何jQuery选项,这意味着我必须在这里设置它们,这只有在站点上的所有日期选择器使用相同的显示规则时才有效(他们没有),并且我必须从使用ID改为使用元素的类,这不是什么大问题

<script>
    $(function() {
        $("#dp1").datepicker();
    });
</script>