2014-12-02 3 views
2

DOM을 완료 한 후 JavaScript를 기반으로 사용자 정의 컴포넌트를 초기화해야합니다. Ajax 호출로 구성 요소를 업데이트하면 업데이트되지만 초기화되지는 않습니다.ajax 업데이트 후 jsf 사용자 정의 컴포넌트 다시 초기화

primeFaces 및 omniFaces의 일부 코드를 읽었지만 그렇게하는 것이 간단하지 않은 것처럼 보입니다.

모든 Ajax 업데이트 후에 JavaScript 코드를 호출하여 컴포넌트를 다시 초기화하는 가장 좋은 방법은 무엇입니까?

편집 :

내가 JSF 사용자 정의 구성 요소에 jQuery를 플러그인 (선택 2 등) 변환하려면, 나는 모든 아약스 갱신

이 후 jQuery를 방법 $('#myComponentId').select2()를 호출한다고 가정은 무엇이며 내가 필요가있다

미리 감사드립니다.

+2

지금까지 시도한 코드와 같은 코드를 공유하는 것이 가장 좋습니다. – Jono20201

+0

AJAX (버튼, ...)을 시작하기 위해 무엇을 사용하고 있습니까? 어떤 버전의 JSF와 PrimeFaces를 사용하고 있습니까? 다른 컴포넌트 라이브러리 사용에 관심이 있습니까? –

+0

외부 컴포넌트 라이브러리없이 jar 라이브러리 (웹 프래그먼트 프로젝트)를 JSF2.2에 구축하고 javax.faces.render.Renderer 클래스에서 클래스를 작성하여 컴포넌트를 빌드합니다. 그래서이 클래스의 코드는 (내 생각에 이것은 올바른 장소라고 생각합니다) 제 일을합니다. – Fadi

답변

2

나는 .. 다시 초기화하는 구성 요소 후 자바 스크립트를 렌더링함으로써

Exmaple 문제를 해결 :

<div id="myComponent" name="myComponent"> 
    ... 
    <script type="text/javascript"> 
     $("#myComponent").select2(); 
    </script> 
</div> 

및 Ajax 호출 후 업데이트 된 구성 요소는 자바 스크립트가 자동으로 실행됩니다 때

관련 문제