2012-05-08 11 views
0

jQueryの新機能で、マスクされた入力プラグインバージョン1.3を使用して電話番号のマスクを作成しています。jQueryマスク - 条件付き

私はそれをセットアップしてマスクを正しく動作させることができましたが、選択ボックスの変更に基づいてマスクの条件を適用したいと思います。

#CountryのIDを持つ選択ボックスがロードされると、デフォルトで「米国」が選択されます。私が作成しようとしているのは、国のセレクターを米国の選択以外のものに変更してマスクを取り除く場合です。

これが私の最初の試みです!

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

    } 
}); 

答えて

0

私はコードに問題はありません。 よりむしろ var cty = $(this).find( 'option:selected')。attr( 'value'); VAR CTY = $(この).val()

を試してみて、いくつかの はconsole.log( "私たちをマスク") はconsole.log( "非たちをマスク") を追加することによって、あなたのコードをデバッグしようあなたのif/else文の中で。 console.log()に期待値が表示されている場合は、プラグインに問題があるので、著者に直接連絡してみてください。ただ、answereを取得する

+1

感謝を離れ乗と正しく表示しました!私はそれを次のように働かせました。米国はページの読み込みで選択されているので、このようにする必要がありました(私は思っています)。私は選択ボックスをクリックしただけでマスクを取得できました: $( '#phone')mask( '(999)999-9999'); 。\t $( '#国')の変化(機能(){ するvar CTY = $(この).val(); (CTY == '米国'){ //私たちは $をマスキング(」場合(999)999-9999); } else { //国際電話番号 $( '#phone')。unmask()。マスク( "9999999999999999 "); } }); – user1382630

1

は(アスカーコメント)の助けを

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