1

一連の入力 (毎月 1 つ) を合計し、その合計を topLimit という非表示の入力フィールドに保存されているぼかしイベントの予算数と比較することで、ユーザーが予算を超える数値を入力しないようにしています。

このページでこれを数回行う必要があるため、月次入力の特定のセットに割り当てられたクラスの名前を渡す関数を作成しました。テストのために、結果を警告していますが、「未定義」になります。関数パラメーターをセレクターとして使用できないということですか? それは何か他のものですか?

function TotalInputs(name){
    var numb = 0;
    $('.'+name).each(function(e){
         numb = numb + parseFloat($(this).val());
    });
    return numb;
} // end TotalInputs function

(function() {
    var ttlFields = 0;

    $(document).on('blur', '.eSAM', function(e){
      var upperLimit = $('input[name="topLimit"]').val();
      ttlFields = TotalInputs('eSAM');
      alert(ttlFields);
    }); // end eSAM blur
})();
4

1 に答える 1

2

var numb = 0;グローバル変数を作成するかTotalInputs、匿名関数内に配置します。

したがって、次のようにします。

(function() {
    var ttlFields = 0;
    var numb = 0;

    function TotalInputs(name){
        $('.'+name).each(function(e){
             numb = numb + parseFloat($(this).val());
        });
        return numb;
    } // end TotalInputs function

    $(document).on('blur', '.eSAM', function(e){
      var upperLimit = $('input[name="topLimit"]').val();
      ttlFields = TotalInputs('eSAM');
      alert(ttlFields);
    }); // end eSAM blur
})();

またはこのように:

var numb = 0;

function TotalInputs(name){
    $('.'+name).each(function(e){
         numb = numb + parseFloat($(this).val());
    });
    return numb;
} // end TotalInputs function

(function() {
    var ttlFields = 0;

    $(document).on('blur', '.eSAM', function(e){
      var upperLimit = $('input[name="topLimit"]').val();
      ttlFields = TotalInputs('eSAM');
      alert(ttlFields);
    }); // end eSAM blur
})();
于 2013-07-24T20:50:45.150 に答える