2014-09-05 144 views
0

我正在尝试使用JQuery更改面具<p:inputMask/>。我有一个<p:selectBooleanCheckbox/>,当选中或取消选中时,会更改inputMask的掩码。更改输入掩码的掩码?

jQuery的

<script type="text/javascript"> 
      function setMask(){      
       if($('check9').is(':checked')){ 
        $('#telefone').prop('mask', '(99)9-9999-9999'); 
       }else{ 
        $('#telefone').prop('mask', '(99)9999-9999'); 
       } 

      }   
     </script> 

的Xhtml

<p:inputMask id="telefone" value="#{unidadeEscolarMB.telefone}" mask=""/>     
        <p:selectBooleanCheckbox itemLabel="Add9" onchange="setMask();" widgetVar="check9" id="ckbox9" value="true"/> 

我怎样才能做到这一点?

回答

1

经过2天的寻找如何做到这一点,现在的作品。

的JavaScript

<script type="text/javascript"> 
      function setMaskTelefone(){ 
       var c = $(':checkbox[id*="checkBox"]'); 
       var t = PF('telefoneMask');    
       if(c.is(':checked')){         
        t.jq.mask('(99)9-9999-9999'); 
        t.jq.focus(); 
       }else{        
        t.jq.mask('(99)9999-9999'); 
        t.jq.focus(); 
       }    

      } 

     </script> 

其他办法可以做到的JavaScript,更干净

<script type="text/javascript"> 
      function setMaskTelefone(){ 
       var c = PF('ckbox9'); 
       var t = PF('telefoneMask');       
       if(c.isChecked()){         
        t.jq.mask('(99)9-9999-9999'); 
        t.jq.focus(); 
       }else{        
        t.jq.mask('(99)9999-9999'); 
        t.jq.focus(); 
       }    

      } 

     </script> 

的Xhtml

<p:inputMask id="telefone" widgetVar="telefoneMask" value="#{unidadeEscolarMB.telefone}" mask="(99)9-9999-9999" /> 
<p:selectBooleanCheckbox itemLabel="Adiciona9" onchange="setMaskTelefone()" id="checkBox" widgetVar="ckbox9" value="true" immediate="true"/>