2011-02-02 4 views
2

숨바꼭질 사람들 왼쪽에 0과 1을 마우스 오른쪽을 선도 문서에 대한 마스크, 내 응용 프로그램에서 몇 가지 필드 jquery.maskedit 플러그인을 사용하여jQuery를

미안 내가 이런 마스크를 구성하는 방법 알아낼 수 없습니다 :

문서 : 000000-0

필드를 항상 0으로 채우고 오른쪽에서 왼쪽으로 입력해야합니다.

jQuery 플러그인이 있습니까? 아니면 누군가 jquery.maskedit을 사용하여이 마스크를 설정하는 방법을 알고 있습니까?

답변

0

면책 조항 : 버그가 있습니다. 그러나 이것이이를 수행하는 한 가지 방법입니다. 난 당신이 언급 한 플러그인 maskedit를 찾을 수 없습니다로

JSFiddle

$.fn.specialMask = function() { 
    this.on('click focus', function() { 
     var self = this; 
     setTimeout(function() {self.value = self.value;}, 15); //move cursor to end 
    }) 
    .on('keypress', function (e) { 
     var 
      num, 
      $this = $(this), 
      cur = $this.val().match(/Document: ([0-9]*\-[0-9])/); //get value 

     if (cur[1][0] !== '0') { return; } //input is full 

     if (e.keyCode >= 48 && e.keyCode <= 57) { //numeric keys 
      num = e.keyCode - 48; 
     } else if (e.keyCode >= 96 && e.keyCode <= 105) { //numpad 
      num = e.keyCode - 96; 
     } else { 
      return; 
     } 
     cur = cur[1].replace('-', '').substr(1) + '-' + num; //shift value left 
     $this.val('Document: ' + cur); //update input 
    }); 
}; 

$('#tehInput').mask('Document: 999999-9', {placeholder: '0'}).specialMask(); // initialize the input 

나는 jquery.maskedinput.js을 사용했다. 링크가있는 경우 jsfiddle에 추가하십시오. 다른 플러그인과 마찬가지로 작동 할 수 있기를 바랍니다.

오른쪽에서 왼쪽으로 자리 표시자를 바꾸는 것은 플러그인에 내장되어 있지 않은 경우 위의 그림과 같이 위조하기가 까다 롭습니다.

<div class="input-wrapper"> 
    <span class="input-pre"></span> 
    <input type="text"> 
</div> 

이 그럼 당신은 테두리가 흰색 빈으로 정상적인 입력, 스타일처럼 실제 입력을 볼 수있는 래퍼 스타일을 할 수 있으며, 초점 : 내가 한 다소 쉽게 트릭은 한 번 가짜 같은 입력을 만드는 것이 었습니다 래퍼에서 '클릭'이벤트가 발생할 때의 입력입니다. 앞서가는 0을 pre-span에 넣고 JS로 업데이트하고 아무도 현명하지 않게하십시오!