Estoy tratando de tener una entrada en mi página que me gustaría tener una máscara de número de teléfono de EE. UU. Por defecto. Si un usuario final hace clic en una casilla de verificación que especifica que desea ingresar un número de teléfono internacional, quiero que se elimine la máscara.¿Cómo hacer que funcione jQuery MaskedInput unmask() para que funcione correctamente?
Lo he intentado de varias maneras y hasta ahora no he tenido éxito. En el proyecto actual, estoy usando jQuery para ocultar/mostrar una entrada completamente diferente. Pero no me gusta esa opción y me gustaría un enfoque más simplificado.
Estoy utilizando el siguiente:
jQuery 1.4.1 (que va a actualizar a 1.4.2 en breve) y jQuery.MaskedInput-1.2.2
<script type="text/javascript">
$(document).ready(function($) {
if ($("#InternationalOfficePhone").attr('checked') == false) {
$("#OfficePhone").mask("(999) 999-9999? x99999");
}
});
$("#InternationalOfficePhone").click(function() {
if ($("#InternationalOfficePhone").attr('checked') == true) {
//$("#OfficePhone").mask(); //doesn't work
//$("#OfficePhone").unmask(); //doesn't work
$("#OfficePhone").unmask("(999) 999-9999? x99999"); //doesn't work
} else {
$("#OfficePhone").mask("(999) 999-9999? x99999");
}
});
</script>
El código anterior funciona adecuadamente para establecer la máscara predeterminada, pero no importa lo que intente en el evento click para InternationalOfficePhone, no quita la máscara.
Cualquier ayuda es muy apreciada.
El error que obtengo está en las líneas un/mask y devuelve un "Objeto no admite esta propiedad o método" –