Javascript 如果<;选项值=“0”;SP"&燃气轮机; 所有州的手机面罩:(99)9999-9999 圣保罗(巴西)手机面罩:(99)99999-9999

Javascript 如果<;选项值=“0”;SP"&燃气轮机; 所有州的手机面罩:(99)9999-9999 圣保罗(巴西)手机面罩:(99)99999-9999,javascript,jquery,hide,option,Javascript,Jquery,Hide,Option,它比其他州多了一位数。我有一个列出了所有州,圣保罗是“SP” 我需要什么 当option value=“SP”时,输出特定掩码 <script> jQuery(function($){ $("#celular").mask("(99) 9999-9999"); $("#celular_sp").mask("(99) 99999-9999"); }); </script> <label for="celular"&

它比其他州多了一位数。我有一个
列出了所有州,圣保罗是“SP”

我需要什么 当option value=“SP”时,输出特定掩码

    <script>
jQuery(function($){
       $("#celular").mask("(99) 9999-9999");
       $("#celular_sp").mask("(99) 99999-9999");
});
</script>

        <label for="celular">Telefone Celular</label>
             <span class="w">
                <input tabindex="1" class="input" id="celular" type="text" />
        </span>

         <label for="estado">Estado</label>
        <select id="estado" style="width:300px;">
            <option value="">Selecione</option>
            <option value="AC">Acre</option>
            <option value="AL">Alagoas</option>
            <option value="AP">Amap&aacute;</option>
            <option value="AM">Amazonas</option>
            <option value="BA">Bahia</option>
            <option value="CE">Cear&aacute;</option>
            <option value="DF">Distrito Federal</option>
            <option value="ES">Esp&iacute;rito Santo</option>
            <option value="GO">Goi&aacute;s</option>
            <option value="MA">Maranh&atilde;o</option>
            <option value="MT">Mato Grosso</option>
            <option value="MS">Mato Grosso do Sul</option>
            <option value="MG">Minas Gerais</option>
            <option value="PA">Par&aacute;</option>
            <option value="PB">Para&iacute;ba</option>
            <option value="PR">Paran&aacute;</option>
            <option value="PE">Pernambuco</option>
            <option value="PI">Piau&iacute;</option>
            <option value="RJ">Rio de Janeiro</option>
            <option value="RN">Rio Grande do Norte</option>
            <option value="RS">Rio Grande do Sul</option>
            <option value="RO">Rond&ocirc;nia</option>
            <option value="RR">Roraima</option>
            <option value="SC">Santa Catarina</option>
            <option value="SP">S&atilde;o Paulo</option>
            <option value="SE">Sergipe</option>
            <option value="TO">Tocantins</option>
        </select>

为什么要使用两个字段作为电话号码?当状态改变时,只需更改/添加掩码。在javascript中;这不能/不应该在像php这样的服务器端语言中完成

比如:

$("#estado").on("change", function() {
  if ($(this).val() == 'SP') {
    $("#celular").mask("(99) 99999-9999");
  } else {
    $("#celular").mask("(99) 9999-9999");
  }
});

编辑:请注意,您至少需要使用jQuery 1.7。

我的HTML比较完整,我尝试只将相关部分放在这个粘贴箱上,所以它不会太快confusing@user2056484你应该尝试在像这样的网站上运行它,但要确保包含所有资源。浏览器调试:Uncaught TypeError:Object#在@user2056484上没有方法。啊,我在你的粘贴中注意到你使用的是非常旧版本的jQuery。要在上使用
,您应该切换到更新的版本,如1.8.3。好的,我会尝试更新,看看这是否会影响我的其他插件
$("#estado").on("change", function() {
  if ($(this).val() == 'SP') {
    $("#celular").mask("(99) 99999-9999");
  } else {
    $("#celular").mask("(99) 9999-9999");
  }
});