트리 노트의 모든 항목을 체크하는 체크 박스를 만들려고합니다. 나는 JSF에 익숙하지 않기 때문에 테이블 대신 트리에서 이것을 구현하는 방법으로 난처한 편이다.리치 스킨의 모든 체크 박스를 선택하십시오.
<rich:panel style="width:400px;">
<h:selectBooleanCheckbox id="vehicleAll" onclick="selectAllModel(this.checked);">
</h:selectBooleanCheckbox>
<h:outputText value=" ALL"/>
<rich:tree id="vehicleTree" switchType="client"
value="#{applicationScope.demoModelGrpList}" var="node" ajaxKeys="#{null}"
binding="#{demoRptController.vehicleUiTree}"
nodeSelectListener="#{demoRptController.selectionListener}"
changeExpandListener="#{demoRptController.expansionListener}"
ajaxSubmitSelection="true">
<rich:treeNode id="modelNode" ajaxSingle="true"
icon="/images/pixel_node.gif" iconLeaf="/images/pixel_node.gif">
<h:selectBooleanCheckbox id="cbxNode" value="#{node.selected}" style="position:relative; float:left; left:-22px;" class="vcBx">
</h:selectBooleanCheckbox>
<h:outputText value="#{node.name}" style="position:relative; float:left; left:-16px;"/>
</rich:treeNode>
</rich:tree>
</rich:panel>
스크립트는 다음과 같습니다 : 이것은 현재 코드
<script type="text/javascript">
<![CDATA[
function selectAllModel(checks) {
alert("calling select all");
var array = document.getElementsByTagName("input");
for(var i = 0; i < array.length; i++)
{
if(array[i].type == "checkbox")
{
if(array[i].className == "vcBx")
{
array[i].checked = checks;
}
}
}
}
]]>
</script>
내가 테스트 목적으로이 경고를 배치; 그것은 심지어 불려지지 않고있다. 나는 이것이 내 머리를 긁적 이도록 내 구문이 정확하다는 것을 확신한다.
그냥 jquery 또는 javascript를 사용하십시오. 트리의 모든 체크 박스에 기본 체크 박스의 onclick에 styleClass = foo가 있으면 모든 입력 요소 유형 체크 박스 class = foo를 선택하여 기본 체크 박스의 선택/선택 해제 값을 동일하게하는 javascript 함수를 호출하십시오. –
Doesn ' 내 경우에는 작동하는 것처럼 보입니다. var inputs = document.getElementsByTagName ('input'); for (var i = 0; i
이것은 jquery를 사용하여 체크 박스를 선택하는 간단한 문제입니다. Stackoverflow는 이미이 문제에 대한 답을 많이 제공합니다. 조사하십시오. 이것은 유쾌한 대답입니다. http://stackoverflow.com/questions/14925874/checking-all-checkboxes-jquery –