实时更新数据掩码属性以实现正确的数据掩码



我在表单上使用引导数据掩码。我有一个选择下拉列表,用户可以在其中选择不同的卡类型。例如美国运通,发现,签证....

当用户选择美国运通卡时,我会更改信用卡号的文本输入,以将输入屏蔽为"5555-55555-55555"。当任何其他信用卡类型时,我希望 inout 掩码应该是"5555-5555-5555-5555"。美国运通卡以外的信用卡为 16 位数字,美国运通卡为 15 位数字,并在正确的位置加上连字符。

到目前为止,我的代码中都有这个

$(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");
    }
});

此代码首次更新数据掩码,如果卡类型更改,下次不会更新。请帮忙吗?

不要更改属性,而是重新初始化所选字段的掩码。例如

$(element).mask('099.099.099.099'); 

最新更新