0

AとBの2つの入力があり、入力aiに設定されていますonchange=$("#B").val($(this).val())

私は設定$(B).change(function(){aler('ok');})しましたが、何も起こらなかった..これはどのように作られるべきですか?

4

2 に答える 2

1

B でイベントをトリガーするには、引数なしで B で change() を呼び出します。

$("#A").change(function(){
   $("#B").val($(this).val()).change();   // call change with args to trigger the change   event on B
});

$("#B").change(function() { alert("OK"); });

編集: $.fn.val の動作を変更して、変更イベントをトリガーできます。しかし、この変更が悪い動作につながるかどうかはよくわかりません。

<script>
    (function () {
        var originalVal = $.fn.val;
        $.fn.val = function () {
            if (!arguments.length)
                return originalVal.call(this);

            var args = Array.prototype.slice.apply(arguments);

            return this.each(function () {
                var self = $(this);
                originalVal.apply(self, args);
                self.change();
            });
        };
    })();
</script>
于 2012-07-11T13:09:29.187 に答える
1

2 つのタイプミス:

$('#B').change(function(){alert('ok');});

エラーを表示するには、 Chrome デベロッパー ツールまたは Firebug (タイプ F12) を使用します。

次のように、コンソールにいくつかのテストを入力したい場合があります。

$('#B')

あなたが働いているものを見るために。

于 2012-07-11T13:07:45.150 に答える