2010-05-26 3 views
2

위의 제목에서 알 수 있듯이 각 행에는 데이터 테이블과 체크 박스가 있습니다.JSF에서 다중 체크 박스가 모두 선택되어 있는지 여부를 어떻게 알 수 있습니까?

하나 이상의 확인란이 선택되어있을 때 버튼을 활성화하고 선택한 확인란이 선택되지 않은 경우 버튼을 비활성화하고 싶습니다. (모두 선택 취소되어 있음을 의미합니다). 확인란 중 하나를 선택하면 버튼을 활성화하는 것처럼이 작업을 수행 할 수 있습니다. 그러나 내가 할 수있는 되돌릴 수있는 경우는 체크 박스를 선택 해제 할 때입니다. 마지막으로 선택한 Checbox가 선택 취소되면 즉시 버튼을 사용할 수 없도록 설정해야합니다. ...

현재 세터 메소드를 사용하지 않고해야합니다. 뒷받침 콩. jquery 또는 jsfunction, richfaces 등을 사용하여 수행 할 수 있습니까?

그 결과 모든 체크 박스가 선택되지 않은 순간에 어떻게 버튼을 비활성화 할 수 있는지 배우고 싶습니다.

사례를 명확히하기 위해 아래에 제 코드가 있습니다. 어떤 도움을 주시면 감사하겠습니다

<h:selectBooleanCheckbox id="selectionCheck" 
    onclick="document.getElementById('form1:button1').disabled=false" 
    value="#{_apiV2Product.selectValue}" > 
</h:selectBooleanCheckbox> 

, 많은 감사, 바리스

당신은 다음과 같은 jQuery를 조각하여이 작업을 수행 할 수

답변

2

:이 비활성화 모든 체크 박스에 onclick 기능을 할당

$('[id$=selectionCheck]').click(function() { 
    $('[id$=button1]').attr('disabled', $('[id$=selectionCheck]:checked').length == 0); 
}); 

아무도 체크 박스가 선택되어 있지 않으면 버튼을 클릭하십시오.

[id$=xxx] 선택자는 클라이언트 ID가 ending 인 요소를 지정된 값으로 선택합니다. 이는 클라이언트 ID 앞에 상위 UINamingContainer 구성 요소 (예 : h:form, h:dataTable, f:subview 등)의 ID가 추가되기 때문에 JSF/RichFaces에서 유용 할 수 있습니다.

관련 문제