1

デザイン中のウェブサイトの価格を変更しようとしています。価格の値は動的 (CMS、つまり 3dcart によって生成) であり、コードでは として表示されます[ITEMPRICE]

価格には通貨記号と小数点があり、JavaScript でそれらを削除しようとしています。

これは HTML の例です

<span>[ITEMPRICE]</`span>

の値はitemprice、たとえば になります$199.00。ページのみを表示したい199

だから私はこれを試しました:

<script>
function chop_price()
{
    [ITEMPRICE] = [ITEMPRICE].replace("$","");
    [ITEMPRICE] = parseInt([ITEMPRICE]);
}
</script>

しかし、この関数を実行して、ページが小数点なしの値に変更されるようにする方法さえ知りません。

この 3dcart システムは、HTML テンプレート (小数点以下を削除するために編集しようとしているもの) とすべての製品情報 (価格など) を含むデータベースに基づいて最終的な HTML を生成することを追加する必要があります。テンプレートは編集できますが、最終的な HTML は動的に生成されます。

4

5 に答える 5

2

本体がロードされたときに呼び出すことができます...または、言及した宣言の後の<body onload="chop_price();">....</body>スクリプトタグ内で直接呼び出すことができます。<script type="text/javascript">chop_price();</script>

できることは、クラスが割り当てられた div 内に [ITEMPRICE] を挿入し (例: <div class="item_price">[ITEMPRICE]</div>)、クラスに一致するすべての項目を選択し、本文が読み込まれるときに内部の HTML を変更することです。

<head>
......
<script type="text/javascript">
function process_prices() {
    var elements = document.getElementsByClassName('item_price');
    for (i = 0; i < elements.length; i++) {
        var el = elements[i];
        el.innerHTML = chop_price(el.innerHTML);
    }
}

function chop_price(text) {
    var result = text;
    result = result.replace("$", "");
    result = parseInt(result);

    return result;
}
</script>
</head>

<body onload="process_prices();">
......
</body>

もちろん、最善の方法は、CMS 出力の値を変更することです。

于 2013-06-08T07:46:26.200 に答える
-1

Call the function like this:-

<script>
..................
chop_price();
................................
</script>
于 2013-06-08T07:44:21.623 に答える