Javascript .on(“更改”仅在手动更改时有效[jsFiddle]

时间:2013-02-20 20:46:23

标签: javascript jquery onchange google-loader

我已经制作了一个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");
             }

3 个答案:

答案 0 :(得分:2)

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

触发更改

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

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

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

更多信息:

  1. jQuery Trigger