1

電話番号フィールドを3つのフィールド(市外局番、次の3、次の4)に分割したいと思います。いくつかの条件を説明したいと思います。

  1. フィールドに指定された桁数が入ると、カーソルは自動的に次のフィールドに移動します。
  2. ユーザーが最初のフィールドに電話番号全体を貼り付けると、jQueryはそれに応じて10桁の数字を分配します。

#1が機能するようになりましたが、問題ありません。SilverlightでTabキーを押さずに、カーソルを次のフィールドに自動移動するにはどうすればよいですか?

ただし、#2は私のjQueryリーグから抜け出していることが証明されているので、ここで助けを求めています。

第二に、私はここで何かを見落としているのだろうか?私はそうは思いませんが、私はそれをそこに捨てると思いました。

私はこれを考慮したことを追加する必要があります:http ://digitalbush.com/projects/masked-input-plugin/#demo-しかし、私は上記がユーザーにとってより楽しいと思う傾向があります...おそらく私は間違っています。

更新-米国のみの電話番号=)。

アップデート2-友人から送られてきました:http://www.mathachew.com/sandbox/jquery-autotab/

4

2 に答える 2

2

このようなもの-フィールド値を取得し、数字以外の文字を削除し、長さをテストし、必要に応じて分割します。

$('#telephone1').on('change',function(e) {
    var $this = $(this),
        phone = $this.val().replace(/\D/g, ''); // remove non-numeric characters
    if (phone.length > 3) {
        $('#telephone3').val(phone.substr(6,4));
        $('#telephone2').val(phone.substr(3,3));
        $('#telephone1').val(phone.substr(0,3));
    } else {
        $('#telephone1').val(phone);
    };
});

http://jsfiddle.net/v6was/

于 2012-06-12T19:58:27.643 に答える
0
var num = $('.number').html();
var first = num.substr(0,3);
var second = num.substr(3,4);
var third = num.substr(7,4);
var newNum = first + ' ' + second + ' ' + third;
$('.number').html(newNum);
于 2014-11-14T03:25:37.687 に答える