-2

テーブルの2つのセルからいくつかの入力フィールドの値を取得し、簡単な数学を実行して差を計算し、別のセル値を差で更新する単純なjQuery関数に取り組んでいます。

これが私の機能です:

$(document).ready(function(){

    $('#Calculate').click(function(){

    var nextYearTotal = $("#textfield6").text();
    var lastYearTotal = $("#textfield1").text();

    nextYearTotal = Number(nextYearTotal);
    lastYearTotal = Number(lastYearTotal);

    var updatedTotal = nextYearTotal - lastYearTotal;

    $('#textfield7').html(updatedTotal);
    });
});

textfield6 および textfield1 入力フィールドの値が何であっても、textfield7 セルの結果として "0" が返されます。

私はjQueryが初めてです-誰かが私のエラーを指摘できれば幸いです。この関数は、テーブルの行のボタンをクリックすると呼び出されます。

4

3 に答える 3

1

テキストではなく値を使用してください。

var nextYearTotal = Number($("#textfield6").val());
var lastYearTotal = Number($("#textfield1").val());

実際のデモを見る

$(document).ready(function() {
    $('#Calculate').click(function() {
        var nextYearTotal = Number($("#textfield6").val());
        var lastYearTotal = Number($("#textfield1").val());

        var updatedTotal = nextYearTotal - lastYearTotal;

        $('#textfield7').html(updatedTotal);
    });
});​

元の投稿のコメントを編集
すると、ソース フィールドは入力であるが、ターゲット フィールドは単なるセルであることが明確になりました。

コメントに基づいて、完全性のために DEMO とコードを更新しました。

于 2012-07-31T15:15:10.847 に答える
0
$(document).ready(function(){

$('#Calculate').click(function(){

var nextYearTotal = $("#textfield6").val();
var lastYearTotal = $("#textfield1").val();

nextYearTotal = Number(nextYearTotal);
lastYearTotal = Number(lastYearTotal);

var updatedTotal = nextYearTotal - lastYearTotal;

$('#textfield7').html(updatedTotal);
});
});
于 2012-07-31T15:17:12.250 に答える
0

これを試して:

$(document).ready(function(){

    $('#Calculate').click(function(){

    var nextYearTotal = parseFloat($("#textfield6").text());
    var lastYearTotal = parseFloat($("#textfield1").text());

    var updatedTotal = nextYearTotal - lastYearTotal;
    if (!(isNaN(updatedTotal)))
         $('#textfield7').html(updatedTotal);
    });
});

<td>ID の"textfield1""textfield6""textfield7"および のボタンまたはリンクを持つ 3 があると仮定して動作するはずですid="Calculate"

于 2012-07-31T15:10:15.687 に答える