0

私は本当にあなたの助けができました!動的な量のテキストボックスを合計する必要がありますが、これを達成するには JavaScript の知識が必要です。誰でも私を助けることができますか?inptSum という名前の p-tag に合計を出力する関数が必要です。

関数と html コードは次のとおりです。

function InputSum() {
    ...
}

<table id="tbl">
<tbody>
    <tr>
        <td align="right">
            <span>June</span>
        </td>
        <td>
            <input name="month_0" type="text" value="0" id="month_0" onchange="InputSum()" />
        </td>
    </tr>
    <tr>
        <td align="right">
            <span>July</span>
        </td>
        <td>
            <input name="month_1" type="text" value="0" id="month_1" onchange="InputSum()" />
        </td>
    </tr>
    <tr>
        <td align="right">
            <span>August</span>
        </td>
        <td>
            <input name="month_2" type="text" value="0" id="month_2"  onchange="InputSum()" />
        </td>
    </tr>
    <tr>
        <td align="right">
            <span>September</span>
        </td>
        <td>
            <input name="month_3" type="text" value="0" id="month_3" onchange="InputSum()" />
        </td>
    </tr>
    </tbody>
</table>

<p id="inputSum"></p>
4

3 に答える 3

1
function InputSum() {
    var inputs = document.getElementsByTagName("input"); 
    for (var i = 0; i < inputs.length; i++) { 
        if(inputs[i].id.indexOf("month_") == 0) 
            alert(inputs[i].value); 
    }
}
于 2012-08-08T09:42:42.363 に答える
0
function InputSum() {
   var month_0=document.getElementById("month_0").value;// get value from textbox
  var month_1=document.getElementById("month_1").value;
  var month_2=document.getElementById("month_2").value;
   var month_3=document.getElementById("month_3").value;
   // check number Can be omitted the

   alert(month_0+month_1+month_2+month_3);//show result 
}

于 2012-08-08T09:46:42.483 に答える
0

小さな jQuery を使用すると、セレクターで始まる属性を使用して、非常に簡単に実行できます。次に、それらをループし、それらの値を整数に解析して合計します。このようなもの:

function InputSum() {
    var sum = 0;
    $('input[id^="month_"]').each(function () {
        sum += parseInt($(this).val(), 10);
    });
    $("#inputSum").text(sum);
}

コードを次のように変更すると、各入力の onchange 属性を取り除くこともできます。

$(function () {
    var elms = $('input[id^="month_"]');
    elms.change(function() {
        var sum = 0;
        elms.each(function () {
            sum += parseInt($(this).val(), 10);
        });
        $("#inputSum").text(sum);
    });
});
于 2012-08-08T09:56:47.107 に答える