2014-02-27 82 views
0

當我點擊Yes時,fieldset被阻止。
但是,當我點擊No時,爲什麼fieldset未被阻止?我錯過了什麼?Primefaces blockUI不能與selectOneRadio一起使用?

<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

我得到一個解決方案,JavaScript通過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> 
相關問題