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

関数が呼び出されるように、入力で Change をトリガーできます。

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

詳しくは:

  1. jQueryトリガー
于 2013-02-20T20:50:40.017 に答える