jquery-uizendx

ZendX DatePicker issue under Ajax request


I am facing issue while i load a form on ajax request. i followed the steps :

  1. Enable jqueryUi in layout.
  2. creates a form element like :

    $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'))
                 ));
    

    and just called the element into form. It is working when page load normally but not with ajax request. What is the reason? any suggestions? i googled a lot about it.


Solution

  • The problem is that the javascript code that activates the date picker is rendered by the ZendX_Jquery extension to happen when the document is ready:

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

    which makes sense with non-ajax requests, but never is executed in an ajax request because the document.ready has already happened in the parent's page. You can add your own in your view directly:

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

    I haven't yet found a solution for this from the Zend Jquery extension, but if you do please let me know!