1

私はjQueryを初めて使用し、マスクされた入力プラグインバージョン1.3を使用して電話番号のマスクを作成しています。

設定してマスクを正しく機能させることができましたが、選択ボックスの変更に基づいてマスクに条件を適用したいと考えています。

ページが読み込まれると、ID が #Country の選択ボックスが読み込まれ、デフォルトで「米国」が選択されるように設定されます。私が作成しようとしているのは、国セレクターを米国の選択以外に変更した場合、マスクを削除することです。

初めての試みです!

    $('#Country').change(function(){
    var cty = $(this).find('option:selected').attr('value');
    if(cty=='United States'){
        // us masking
        $('#phone').unmask().mask("(999) 999-9999");

    } else {
        // just numbers for international
        $('#phone').unmask().mask("9999999999999999");

    }
});
4

2 に答える 2

2

答えを二乗して正しく表示するためだけに(質問者のコメント)

$('#phone').mask('(999) 999-9999');  
$('#Country').change(function(){ 
  var cty = $(this).val(); 
  if(cty=='United States'){ 
    // us masking 
    $('#phone').unmask().mask("(999) 999-9999"); 
  } else { 
    // just numbers for international 
    $('#phone').unmask().mask("9999999999999999"); 
  } 
});
于 2013-07-24T08:46:50.680 に答える
0

コードに問題はありません。var cty = $(this).find('option:selected').attr('value'); ではなく var cty = $(this).val() を試してください

if/else ステートメント内に console.log("mask us") console.log("mask non-us") を追加して、コードのデバッグを試みます。console.log() が期待値を示している場合、問題はプラグインにあるため、作成者に直接連絡してみてください。

于 2012-05-08T17:08:51.217 に答える