Атрибут маски данных Live Update для правильного маскирования данных

Я использую маскировку данных начальной загрузки в своей форме. У меня есть раскрывающийся список, в котором пользователь может выбирать разные типы карт. Например, American Express, Discover, Visa....

Когда пользователь выбирает American Express, я хочу, чтобы ввод текста для номера кредитной карты маскировал ввод как «5555-555555-55555». Для любого другого типа кредитной карты я хочу, чтобы входная маска была «5555-5555-5555-5555». 16 цифр для кредитной карты, отличной от American Express, и 15 цифр для American Express вместе с дефисами в правильном месте.

У меня есть это в моем коде до сих пор

$(document).on("change", "#creditcardtype", function(){
    if($(this).val() == "American Express"){
        $("#Cnumber").attr("data-mask","9999-999999-99999");
    }else{
        $("#Cnumber").attr("data-mask", "9999-9999-9999-9999");
    }
});

Этот код обновляет маску данных в первый раз и не обновляет в следующий раз при изменении типа карты. Любая помощь, пожалуйста??


person Yunus Aslam    schedule 18.12.2014    source источник


Ответы (1)


Вместо изменения атрибутов повторно инициализируйте маскирование выбранного поля. Например

$(element).mask('099.099.099.099'); 
person Majeed    schedule 18.12.2014