2012-11-04 4 views
1

누군가가 나를 도울 수 있기를 바랍니다. Zend Framework에서 JQuery Autocomplete 위젯이 올바르게 작동하도록하는 데 많은 어려움을 겪고 있습니다. 필자는 타이핑을 시작할 때 자동 완성 기능을 사용하여 항목 목록을 표시하고 팝업 할 수 있었지만 팝업 목록에서 옵션을 선택하면 자동 완성 값이 선택한 항목으로 변경되지 않고 다음과 같이 변경됩니다. 내가 실제로 키보드에서 입력 한 텍스트. 나는 아마도 어리석은 짓을하고있을 것이라고 확신하지만 나는 그것을 알아낼 수 없다. 어떤 도움을 주시면 감사하겠습니다. $ partner_options와 교리 결과 집합JQuery Autocomplete는 예기치 않은 결과를 나타냅니다.

$partner_name = new ZendX_JQuery_Form_Element_AutoComplete('unit_name', array(
     'label'  => 'Partner Name:', 
     'required' => true, 
    ));  
    $partner_name->setRequired(true) 
     ->addValidator("NotEmpty", true, 
       array('messages'=>'The Partner Name field cannot be empty')); 
    $partner_name->setJQueryParam('data', array_values($partner_options)); 

    $partner_name->setDecorators(array('UiWidgetElement', 'Errors')); 
    $this->addElement($partner_name); 

다음 폼은 다음 viewscript 데코에 표시된 바와 같이

자동 완성 형태가 생성된다. 이것은 잘 작동하고 내가 말했듯이 값을 입력하기 시작할 때 목록을 표시합니다. 당신이 볼 수 있듯이

<script type="text/javascript" src="<?= $this->baseUrl('/js/dojo-release-1.7.2/dojo/dojo.js')?>" 
      data-dojo-config="async: true, parseOnLoad:true"></script> 
    <script> 
    require(["dijit/registry", "dijit/Dialog"], function (registry, dom) 
    { 

     dojo.connect(dojo.byId('unit_name'), "change", function(evt) { 
      alert(dojo.byId('unit_name').value); 
     }); 

    }); 
</script> 

는 스크립트가 automplete와 함께 경고 상자를 표시하는 함수에 변경 이벤트를 연결 : 내보기에서 나는 다음과 같이 일부는 automplete 요소에 대한 변경 이벤트에서 실행되는 자바 스크립트 도장이 요소 값. 문제는 표시되는 값이 항상 내가 입력하는 문자이며 목록에서 선택한 값이 아니라는 것입니다.

BTW, JQuery 자바 스크립트를 사용할 때뿐만 아니라 내보기에서 JQuery UI 위젯을 직접 사용할 때도 마찬가지입니다.

정말 혼란 스럽습니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다.

답변

1

Jquery 자동 완성을 조사해야합니다!

$("#selector").bind("autocompletechange", function(event, ui) { 
    ...Then perform all required actions 
}); 
+1

안녕 Sydwell. 고마워. 훌륭하게 작동합니다. "autocompleteclose"이벤트가 원하는대로 정확하게 작동하지만 –

관련 문제