2012-03-07 2 views
2

Я столкнулся с проблемой при загрузке формы по запросу ajax. i выполнил следующие шаги:Проблема ZendX DatePicker под 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. Какова причина? какие-либо предложения? я много разобрался в этом.

ответ

2

Проблема заключается в том, что Java-код, который активирует выбор даты оказывает расширение ZendX_Jquery произойдет, когда документ будет готов:

<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, но если вы, пожалуйста, дайте мне знать!

+0

Это работает для меня, если я добавляю скрипт, как вы показываете, но на самом деле, если мы хотим добавить этот скрипт в zend-способ, то как это возможно? все еще ищем то же самое. –

Смежные вопросы