Я пытаюсь сделать один ввод на своей странице, чтобы по умолчанию я хотел иметь маску номера телефона в США. Если конечный пользователь нажимает флажок, указывающий, что он хотел бы ввести международный номер телефона, я хочу удалить маску.
Я пробовал несколько способов, но пока безуспешно. В текущем проекте я использую jQuery, чтобы скрыть / показать совершенно другой ввод. Но я не люблю этот вариант и хотел бы более упорядоченный подход.
Я использую следующее:
jQuery 1.4.1 (скоро обновится до 1.4.2) и 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>
Приведенный выше код работает правильно, чтобы установить маску по умолчанию, но независимо от того, что я пытаюсь выполнить для события click для InternationalOfficePhone, маска не удаляется.
Любая помощь очень ценится.