0

我已经制作了一个包含有关该问题的所有数据和信息的 jsFiddle。我认为更容易理解发生了什么:

请看一下:

http://jsfiddle.net/lukinhasb/GuZq2/

$("#estado").val(unescape(resultadoCEP["uf"]));

仅当您手动选择该选项时,掩码才会更改。当 javascript 增加具有相同数据的字段时,它不会更改掩码。

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

3 回答 3

2

当您使用 javascript 更改字段时,它不会自动触发更改事件。使用 jQuery,您可以使用 $elem.change() 触发更改

于 2013-02-20T20:50:13.777 回答
2

这就是它的工作方式,但是当您通过 JS 设置值时,您可以自己触发更改事件:

$("#estado").val(unescape(resultadoCEP["uf"])).trigger('change');
于 2013-02-20T20:50:26.747 回答
2

您可以在输入上触发更改,以便调用您的函数:

$("#estado").val(unescape(resultadoCEP["uf"])).trigger("change");

更多信息:

  1. jQuery 触发器
于 2013-02-20T20:50:40.017 回答