我正在尝试使用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"/>
我怎么能这样做?
答案 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"/>