0
<script type="text/javascript">
$(document).ready(function() {

        var sub_total = $("sub_total").text();
                        alert(sub_total);
        var ship_total = $("ship_total").val()
                        alert(ship_total);

        var new_total = sub_total + ship_total;

        $('#new_total').html( new_total.toFixed(2));
    });

</script>

出力をテストするためにアラートを使用していますが、スパン ID 内の値を取得していません。

$<span id="sub_total"><?php echo $sub_total = number_format($this->cart->total(), 2); ?></span></td>

これはページに正しく表示されますが、アラートは空白のボックスです。値new_totalが数値でNaNはない状態になる。

これら 2 つのフィールドに値を追加するにはどうすればよいですか?

4

2 に答える 2

1

編集:

値を取得するのを忘れました - 要素のみを取得しています

すでにjQueryを使用しているため、次のような値を取得できます

var sub_total = parseInt($("#sub_total").text());// this is where you need to use .text()
var ship_total = parseInt($("#ship_total").text());

または、プレーンなjsを保持したい場合..

document.getElementById("sub_total").value

テキストに $ があるため、解析する前にそれを取り除く必要があります。@Bubblesが述べたように正規表現を使用するか、$記号を削除したい任意の方法を使用できます。部分文字列..分割..

$.trim($("#sub_total").text().split('$')[1])

また

$.trim($("#sub_total").text()).substring(1)
于 2012-10-07T19:21:26.013 に答える
0

wirey は問題の一部について適切なレビューを提供していますが、そのままでは十分ではないと思います。「parseInt」は「$20」では機能しません。最初にドル記号を削除する必要があります。あなたが怠け者だと感じているなら、これは良い正規表現がすぐに解決できないものではありません:

var sub_total = parseInt($("#sub_total").text().match(/[0-9]+/)));
var ship_total = parseInt($("#ship_total").text().match(/[0-9]+/)));

これは、スパンから数値を取得して解析します。

于 2012-10-07T19:27:18.260 に答える