0

以下のスクリプトでは、コンソールで実行すると、customFields 入力の 1 つでキーアップすると、エラーが返されます。

キャッチされていない TypeError: 未定義のプロパティ '値' を読み取ることができません

誰が何が悪いのか分かりますか?

jQuery(document).ready(function () {

        jQuery("#customfield_21070").attr('style', 'width:60px');

        var customfields = '#customfield_11070,#customfield_11071,#customfield_20071,#customfield_20072,#customfield_20073,#customfield_20074';

           jQuery(customfields).keyup(function () {
                calculateSum.call(this);
            });


        function calculateSum(param) {
            var sum = 0;

            if (!isNaN(param.value) && param.value.length != 0 && param.id !== "customfield_21070") {
                sum += parseFloat(param.value);
            }

            jQuery("#customfield_21070").val(sum.toFixed(2));
        }

    });
4

1 に答える 1

1

calculateSum(this)それ以外のcalculateSum.call(this)


説明

の最初のパラメーターは.call()、実際に呼び出している関数に実際にパラメーターを渡しているわけではありません。関数内でキーワードthisが何であるかを定義しています。

参照: https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/Function/call

于 2013-04-24T17:00:41.410 に答える