2012-06-15 3 views
0

라디오 버튼이있는 테이블을 렌더링 중입니다. 즉, radioButton을 선택하면 전체 양식을 다시 렌더링해야합니다. 하지만 작동하지 않습니다.f : 아약스가 예상대로 작동하지 않습니다. selectOneRadio inside ui : repeat

<h:form id="summaryForm" prependId="false"> 
<table> 
<tbody> 
    <ui:repeat var="switchRow" value="#{designBean.switchReport.rowList}" varStatus="rowStatus"> 
    <tr class="#{rowStatus.even?'even':'odd'}"> 
     <td> 
    <h:selectOneRadio id="switchTypeSelectionId" 
        name="switchTypeSelection" 
       styleClass="choices" 
       onclick="selectRadioButton(this);" 
       value="#{designBean.designTool.switchProduct}"> 
     <f:selectItem itemValue="#{switchRow.rowId}"/> 
     <f:ajax event="click" execute="@this" render="@form" listener="#{designBean.showIGBTDetails}"/> 
    </h:selectOneRadio> 
    </td> 
    <ui:repeat var="switchColValue" value="#{switchRow.rowValues}"> 
     <td> 
        <h:outputText value="#{switchColValue}" /> 
       </td> 
    </ui:repeat> 
     </tr> 
    </ui:repeat> 
</tbody> 
</table> 
</h:form> 
+0

''속성에 EL 표현식의 구문 오류가 있습니다. 이것은 실제 코드에도 존재합니까? – BalusC

+1

좋아요, EL 문법 오류는 당신의 구체적인 문제의 원인이 아닙니다. 이제 우리는 마침내 나아갈 수 있습니다 :)이 문제는 이전 Mojarra 버전의 버그로 인식 할 수 있습니다. 모하라를 사용하고 있습니까? 그렇다면 어떤 버전입니까? 다소 오래된 경우 (~ 6 개월 이상) 업그레이드를 시도 했습니까? – BalusC

답변

0

클릭 이벤트가이 경우에 필요한 경우 나도 몰라 :

여기 내 코드입니다. onchange를 사용해보십시오. 나는 이것을 과거에 언급 한 것을 기억한다. 그러나 이미 선택한 라디오 항목을 여러 번 클릭하면 화재가 발생하지 않습니다.

또한 @form 대신 양식의 ID를 사용해 보셨습니까? render = "summaryForm"처럼.

+0

@form 대신에 id 형식을 사용하는 경우 제안한 것과 같이 render = "summaryForm", 이 다음 예외를 제공합니다. 뷰 소스를 볼 때 html이 생성 된 컴포넌트 ID는 동일한 summaryForm입니다. SEVERE : javax.faces.FacesException : 에 'semiSelectionForm'알 수없는 아이디가 있습니다. 구성 요소의 컨텍스트에서 찾을 수 없습니다. switchTypeSelectionId – uday

+0

음, 이상하게 들립니다. 그러나 나는 무언가를 잊어 버렸습니다. 콜론, render = ": summaryForm"을 사용하는 것이 더 나을 것입니다. JSF는 id 분리 자로 콜론을 사용하고 있습니다 (id bar를 사용하여 id foo가있는 양식을 고려하면 foo : bar 또는 : foo : bar로 액세스 할 수 있습니다. 시도해 볼만한 가치가 있습니다.하지만 솔직히 말해서, 저는 여기에 붙어 있습니다. 아마도 요소에이 물건을 사용하는 데 제한이있을 수 있습니다. –

0

은 몇 가지 조사 후, 나는 이것을 달성하는 간단한 방법을 발견, 여기 내 대답은, 대신 시간 사용하고 : selectOneRadio를, 아약스를 호출 panelGrid 구성 요소에, 이제 클릭을 HTML로 변경하고에 싸서 기능/청취자.

관련 문제