Comment faire pour que la fonction jQuery MaskedInput unmask () fonctionne correctement?

Je suis en train d'avoir une entrée sur ma page que je voudrais avoir un numéro de téléphone AMÉRICAIN masque par défaut. Si un utilisateur final clique sur une case à cocher en spécifiant qu'ils aimeraient entrer un numéro de téléphone International, je veux le masque à être supprimé.

J'ai essayé de plusieurs façons et ont été vains jusqu'à présent. Dans le projet actuel, je suis en utilisant jQuery pour afficher/masquer un de complètement différent d'entrée. Mais je n'aime pas cette option et souhaitez une approche plus rationnelle.

Je suis en utilisant le suivant:

jQuery 1.4.1 (allez mettre à niveau vers 1.4.2 bientôt) et 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>

Le code ci-dessus fonctionne correctement pour définir la valeur par défaut du masque, mais peu importe ce que j'essaie sur l'événement click pour le InternationalOfficePhone il n'a pas d'enlever le masque.

Toute aide est très appréciée.

source d'informationauteur Terry Nederveld