에서만 작동는, JS 내가 같이 정의 PrimeFaces <code><p:selectOneMenu></code>을 사용하는 복합 구성 요소가 마지막 구성 요소
function inOutChanged() {
var inOut = $({cc.clientId}:inOut);
if(inOut.val() == "INC") {
slider.addClass("includedInRange");
}
}
만 페이지에 존재하는 경우이 복합 컴포넌트는 잘 작동 같은 inOutChanged()
함수를 정의하는 구성 요소의 일부로서 포함. 문제는 페이지에 4 개가 있어야한다는 것입니다. 따라서 하나의 컴포지트 구성 요소 선택을 변경하면 마지막 구성 요소의 슬라이더 클래스가 변경됩니다. 나는 이것이 실제로 페이지 내에 정의 된 4 inOutChanged()
함수에 있기 때문이라고 생각합니다.
함수를 범위 지정하거나 고유하게 이름을 지정하여 서로를 강타하지 않을 방법이 있습니까?
당신은 문제를 잘못 해석하고 (
/resoruces/composite
이 복합 구성 요소 XHTML 파일이 포함 된 경우). 첫째로, 어떻게 그리고 어디에서'slider' 변수를 선언 했습니까? 즉, 마지막으로 할당 된 값을 유지하도록 변수의 값을 매번 오버라이드 한 것처럼 보입니다. 모두 함께, 나는 당신이 "구성 요소"라고 말했을 때 실제로 "복합 구성 요소"를 의미한다는 인상을 받았습니까? 이렇게하면 질문이 훨씬 더 합리적입니다. – BalusC@BalusC 예, 복합 요소입니다. slider 변수는 또한 cc.clientId를 사용하여 similair 접근법을 사용하여 선언됩니다. 슬라이더 변수를 재정의 (override)했을 가능성이 있습니다. 나는 당신이 아마도 당신의 대답에서 제안한 접근법을 시도해야 할 것 같아요. – mpaulse