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 回答