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

您不能使用 JavaScript 修改模板变量。

当浏览器看到它们时,模板将被处理,变量将被整个页面中的值替换。

如果你想用 JavaScript 修改它们,你需要在 DOM 中搜索模板放置它们的位置,然后在那里修改它们。

也就是说,执行此操作的正确位置是在 CMS 内部。

于 2013-06-08T07:52:48.433 回答
2

您可以在正文加载时调用它......或在您提到的声明之后<body onload="chop_price();">....</body>直接在脚本标签内调用它。<script type="text/javascript">chop_price();</script>

您可以做的是将 [ITEMPRICE] 插入分配有类的 div 中(例如:),<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

像这样调用函数:-

<script>
..................
chop_price();
................................
</script>
于 2013-06-08T07:44:21.623 回答
-1

像这样使用 window.onload 事件。

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

    window.onload = function() {
        chop_price();
    }
</script>
于 2013-06-08T07:50:27.067 回答
-2

将以下代码段放在 html 的标题部分中(您的相同功能)

<script type="text/javascript">

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

</script>

如果您使用按钮调用该函数,我假设!

<input type="button" value="Remove Doller" onclick="chop_price()" />
于 2013-06-08T07:50:13.963 回答