Ajax请求下的ZendX DatePicker问题

时间:2012-03-07 04:38:50

标签: jquery-ui zendx

我在ajax请求上加载表单时遇到问题。我按照以下步骤操作:

  1. 在布局中启用jqueryUi。
  2. 创建一个表单元素,如:

    $dob = new ZendX_JQuery_Form_Element_DatePicker('patient_dob');
    $dob->setLabel('')
           ->addFilter('StripTags')
           ->addFilter('StringTrim')
           //->addValidator('Date')
           ->setAttrib('readonly', 'true')
           ->setJQueryParam('dateFormat', 'yy-mm-d')
           ->setDecorators(array(
    'Description', 'Errors', 'UiWidgetElement',
    array(array('data' => 'HtmlTag'), array('tag' => 'Div', 'class'=>'calender_input'))
                 ));
    

    并将元素调用为表单。当页面正常加载但是没有ajax请求时它正在工作。是什么原因?有什么建议?我搜索了很多关于它的信息。

1 个答案:

答案 0 :(得分:2)

问题是,当文档准备就绪时,ZendX_Jquery扩展会呈现激活日期选择器的javascript代码:

<script type="text/javascript">
//<!--
$(document).ready(function() {
    $("#patient_dob").datepicker({});
});
//-->

</script>

这对非ajax请求有意义,但永远不会在ajax请求中执行,因为document.ready已经发生在父页面中。您可以直接在视图中添加自己的视频:

<script type="text/javascript">
    $("#patient_dob").datepicker({});
</script>

我还没有从Zend Jquery扩展程序中找到解决方案,但如果你这样做,请告诉我!