2010-12-20 20 views
2

私がしたいことは、数字のリストから1つの数字を減算することです。例えば 私は数字以下の表を持っていると私は4000を減算したい:数字のリストから個々に引き出す方法は?

<table> 
<thead> 
    <tr> 
     <td>result</td> 
     <td>start</td> 
    <tr> 
</thead> 
<tbody> 
    <tr> 
     <td>0</td> 
     <td>3000</td> 
    </tr> 
    <tr> 
     <td>0</td> 
     <td>3500</td> 
    </tr> 
    <tr> 
     <td>0</td> 
     <td>4000</td> 
    </tr> 
</tbody> 
</table> 

完璧な結果は次のようになります。

<table> 
<thead> 
    <tr> 
     <td>result</td> 
     <td>start</td> 
    <tr> 
</thead> 
    <tbody> 
    <tr> 
     <td>0</td> 
     <td>3000</td> 
    </tr> 
    <tr> 
     <td>2500</td> 
     <td>3500</td> 
    </tr> 
    <tr> 
     <td>4000</td> 
     <td>4000</td> 
    </tr> 
    </tbody> 
</table> 

は、ここで私はすでに試した何のリンクです:

http://jsfiddle.net/tiitremmel/LBjVJ/9/

+0

減算すると、削除されますか?各数字から減算しないでください。 – Orbling

+1

はあなたの質問とjsfiddleコードを見つめて、何をしようとしているのか分かりません。 –

+0

jesを明記してください。それぞれからではなく、合計から明記してください。サンプルのように - 3000,3500、4000と私は4000を控除したいと思います。結果3000 = 0,3500 = 2500、4000 = 4000ポイントを忘れましたか? –

答えて

1

これは適切ですか? jsFiddle

編集:新しいバージョン!

var subtract = 4000; 

$('#tbl tbody tr').each(function(){ 
    var value = parseInt($(this).find('td:eq(1)').text()); 
    var $result = $(this).find('td:eq(0)'); 

    if(subtract >= value){ 
     $result.text(0); 
     subtract -= value; 
    } 
    else if(subtract <= 0){ 
     $result.text(value); 
    } 
    else{ 
     $result.text(value-subtract); 
     subtract -= value; 
    } 
}); 
+0

ほとんどの問題は、var 4000を4100のように変更してから2行目が最初のtdが正しい(2400)が、2番目がゼロではないので、3番目はまだ4000になるはずですが、今は1600 –

+0

@Tiitです。バージョン。 –

+0

もっと良い!私もそれに取り組んでいますが、私は今は、varより大きい4800と3000より小さい。私が到達しようとしている場所は、varは開始列合計(この場合は10500)通常はより小さい。あなたは本当に役に立ちました!前もって感謝します! –

0

あなたの目標数として最初のセルを持つ行を削除したい場合は、試してみてください。

​​
関連する問題