2011-02-07 2 views
0

제조 I는 I 비아의 jQuery 요소를 활성화하는 젠드 양식 가지고젠드 및 jQuery를 DatePicker에서 예상치 못한 결과

ZendX_JQuery::enableForm($this); 

후 여러 비의 jQuery 요소를 첨가, 그리고 하나 jQuery를 DatePicker에서 다음과 같이 정의 :

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

I는 다음과 같이 후 장식을 설정 (모든 요소를 ​​제하고 DatePicker에서 실내 장식을위한 정의 대체)

$this->clearDecorators(); 
$this->addDecorator('FormElements') 
    ->addDecorator('HtmlTag', array('tag' => 'div', 'class'=>'form-block')) 
    ->addDecorator('Form'); 

$this->setElementDecorators(array(
    array('ViewHelper'), 
    array('Errors'), 
    array('Description', array('tag' => 'div', 'class' => 'tooltip')), 
    array('Label', array('separator'=>' ')), 
    array('HtmlTag', array('tag' => 'div', 'class'=>'element-block')), 
)); 

$formJQueryElements = array(
    array('UiWidgetElement', array('tag' => '')), 
    array('Errors'), 
    array('Description', array('tag' => 'div', 'class' => 'tooltip')), 
    array('Label', array('separator' => ' ')), 
    array('HtmlTag', array('tag' => 'div', 'class' => 'element-block')), 
); 
$this->getElement('dp1')->clearDecorators(); 
$this->getElement('dp1')->setDecorators($formJQueryElements); 

이것은 어떻게 든 텍스트 필드로 변환 된 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> 

이는 DatePicker가 아닙니다. 나는 이것을 세우는 데있어서 무엇을 놓쳤는가? 내가 여기에 어떤 실수를 했는가?

감사합니다.

답변

0

적어도 부분적으로 대답을 찾았습니다. DatePicker에서로 텍스트 필드를 변경

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

: 나는 필드가 날짜 필드로 변환되지 않았 음을 의미 내보기에 다음 코드를 포함하는 것을 잊었다. 그러나 이것은 Form 클래스에 설정된 jQuery 옵션을 유지하지 않습니다. 즉, 여기에 설정해야합니다. 사이트의 모든 datepicker가 동일한 규칙을 사용하여 표시하지 않는 경우에만 작동합니다. 나는 ID를 사용하는 것에서 요소의 클래스를 사용하는 것으로 바꿔야한다.

관련 문제