更改输入掩码的掩码?

时间:2014-09-05 05:57:52

标签: jquery jsf primefaces

我正在尝试使用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 个答案:

答案 0 :(得分: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"/>