2016-12-27 41 views
1

這樣的輸入掩碼和取消掩碼可以請任何人在xxx-xx-6789這樣的文本框上完成輸入掩碼。像xxx-xx-6789(mask)和123-45-6789(unmask)

一個文本和一個複選框。

如果選中複選框,則應用掩碼(如xxx-xx-6789)。 如果取消選中複選框,然後像(123-45-6789)一樣去除遮罩。

並且兩種情況下的實際值都是123456789(用於保存)。

https://github.com/mishraas/jQuery-SSN-Field-Masking

+0

到目前爲止你做了什麼?請分享代碼。 –

+0

希望你正在尋找這種東西? http://jsfiddle.net/w2sccqwy/1/ – dgk

+0

是的@dgk,但這是行不通的。 – HarryDev

回答

0

添加一個複選框如下

<input type="checkbox" name="MaskUnmask" value="MaskUnmask" class="maskunmask"/> 

,並在JavaScript中添加改變功能如下它將工作

<script type="text/javascript"> 

      $(document).ready(function(){ 
       $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 }); 

       $(".maskunmask").on("change", function() { 

        if ($(this).prop('checked')) { 
         $('#ssn').unmask().mask('999-99-9999'); 
        } 
        else { 
         $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 }); 
        } 
       }); 
      }); 

     </script> 
0

要獲得UNMASK輸入文本框的值,使用掩碼格式'999999999'。

var val = $('#ssn').mask('999999999').val(); 

請嘗試以下操作,並在複選框事件中應用並刪除以下遮罩格式。

$('#ssn').unmask().maskSSN('999-99-9999', {maskedChar:'X', maskedCharsLength:5}); 


$("#check").change(function(){ 
var val = $('#ssn').mask('999999999').val(); 

if ($(this).prop('checked')) { 
         $('#ssn').unmask().mask('999-99-9999'); 
        } 
        else { 
         $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 }); 
        } 
alert(val); 
});