2014-02-27 3 views
0

Yes을 클릭하면 fieldset이 차단됩니다.
그러나 No을 클릭하면 fieldset이 차단 해제 된 이유는 무엇입니까? 내가 누락 된 것?selectOneRadio에서 Primefaces blockUI가 작동하지 않습니까?

<h:form id="blockUITest"> 
    <p:selectOneRadio style="width:130px;" onchange="blockUI(this.value);"> 
     <f:selectItem itemLabel="Yes" itemValue="true" /> 
     <f:selectItem itemLabel="No" itemValue="false" /> 
    </p:selectOneRadio> 
    <script type="text/javascript"> 
     function blockUI(block) { 
      if(block) { 
       dataEntryBlockUI.show(); 
      } else { 
       dataEntryBlockUI.hide(); 
      } 
     } 
    </script> 
    <p:blockUI block="dataEntry" widgetVar="dataEntryBlockUI"/> 
    <p:fieldset legend="Data Entry" id="dataEntry"> 
    </p:fieldset>    
</h:form> 

답변

0

나는 id에 의해 p:selectOneRadio의 요소를 검색 자바 스크립트 하나 개의 솔루션을 얻을. 그 후 라디오가 선택되었는지 확인하십시오. 그것은 나를위한 일입니다.

<h:form id="blockUITest"> 
     <p:selectOneRadio style="width:130px;" onchange="blockUI();" id="xxx"> 
      <f:selectItem itemLabel="Yes" itemValue="true" /> 
      <f:selectItem itemLabel="No" itemValue="false" /> 
     </p:selectOneRadio> 
     <script type="text/javascript"> 
      function blockUI() { 
       var element1 = document.getElementById('blockUITest:xxx:0'); 
       if(element1.checked) { 
        dataEntryBlockUI.show(); 
       } 
       var element2 = document.getElementById('blockUITest:xxx:1'); 
       if(element2.checked){ 
        dataEntryBlockUI.hide(); 
       } 
      } 
     </script> 
     <p:blockUI block="dataEntry" widgetVar="dataEntryBlockUI"/> 
     <p:fieldset legend="Data Entry" id="dataEntry"> 
     </p:fieldset>    
    </h:form> 
관련 문제