1

私はこのコードを持っています:

<script type="text/javascript">
    $("#run").click(function(){
        var prc = $('.hprc').html();
        var mval = '0.1';
        $('.vprc').html('$'+(prc * mval));
    });
</script>
<table id="form1" cellpadding="0" cellspacing="0" border="1">
        <tr>
            <td>
                <div class="col_label">Col1</div>
            </td>
            <td>
                <div class="col_label">col2</div>
            </td>
        <tr>
            <td>
                <input class='pos1' lid1='243' lid2='0' type='checkbox' /><label class='main_cb'>Name1</label>
            </td>
            <td>
                <div class='prc'><div class='hprc'>15.00</div>
                <div class='vprc'>$0</div></div>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <table width='100%' class='block1' cellpadding='0' cellspacing='0' border='1'>
                    <tr>
                        <td>
                            <input class='pos2' lid1='1' lid2='0' pval='1.00' type='checkbox' /><label class='sec_cb'>Name2</label>
                        </td>
                        <td>
                            <div class='prc'><div class='hprc'>1.00</div><div class='vprc'>$0</div></div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input class='pos3' lid1='0' lid2='2401' pval='22.00' type='checkbox' /><label class='sec_cb'>Name3</label>
                        </td>
                        <td>
                            <div class='prc'><div class='hprc'>22.00</div><div class='vprc'>$0</div></div>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td>
                <input class='pos4' lid1='243' lid2='0' type='checkbox' /><label class='main_cb'>Name4</label>
            </td>
            <td>
                <div class='prc'><div class='hprc'>7.00</div><div class='vprc'>$0</div></div>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <table width='100%' class='block2' cellpadding='0' cellspacing='0' border='1'>
                    <tr>
                        <td>
                            <input class='pos5' lid1='193' lid2='0' pval='9.00' type='checkbox' /><label class='sec_cb'>Name5</label>
                        </td>
                        <td>
                            <div class='prc'><div class='hprc'>9.00</div><div class='vprc'>$0</div></div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input class='pos6' lid2='1737' lid1='0' pval='19.00' type='checkbox' /><label class='sec_cb'>Name6</label>
                        </td>
                        <td>
                            <div class='prc'><div class='hprc'>19.00</div><div class='vprc'>$0</div></div>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    <input type='button' value='calc' id='run'/>

テーブルはphpを介して生成され、そのcontの数は異なる場合があります。

jquery を使用して、各行でクラス 'hprc' * '0.1' の値を計算しようとしています。

最初の行のみを計算し、残りの最初の結果を複製します。

テーブルの構造を変更したり、クラスに別の名前を付けたりすることはできません。

各行に数式を適用するにはどうすればよいですか?

4

3 に答える 3

3

使用できます

// for each item with class prc (the containers)
$('.prc').each(function(){
   var self = $(this),
       mval = 0.1,
       hprc = parseFloat(self.find('.hprc').text()), // get the value of the .hprc element and convert to float number
       vprc = self.find('.vprc');
   vprc.text('$' + (hprc*mval)); // store the result 
});

価格を扱っているため.toFixed(2)、計算後に追加して小数点以下 2 桁に丸めることもできます。

vprc.text('$' + (hprc*mval).toFixed(2));

http://jsfiddle.net/gaby/uFjQc/のデモ

于 2012-12-20T17:55:25.257 に答える
0

次のようなjQuery.each()関数を使用します。

var prc = null;

$('.hprc').each(function(){
   prc = $(this).html();
   .....
})
于 2012-12-20T17:54:41.293 に答える