1

我想实现一个增值税切换器,如您在http://aria.co.uk右上角所见,尽管我只想在客户端执行此操作。

下面是我想出的东西,虽然我需要:

  • 来回切换增值税(我的例子只是一种方式)
  • 保存并从 cookie 中读取切换状态以保持持久性
  • 让它不显眼/仅当 JS 可用时才显示切换链接

    <html>

    <head>

    <title>VAT Switch</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

    <script type="text/javascript">

    function VATswitch(){

    var price = $(".price strong span").text();

    price = price * 10 / 12;

    $(".price strong span").text(price);

    var excl_incl = $(".price em").text();

    excl_incl = "(excl. VAT)";

    $(".price em").text(excl_incl);

    } </script>

    </head>

    <body>

    <a href="#" onclick="VATswitch();" id="vat_switch">Switch VAT</a>

    <p class="price">

    <strong>£<span>120</span></strong>

    <em>(incl. VAT)</em>

    </p>

    </body>

    </html>

请帮忙。

4

1 回答 1

3

最简单的方法是将两个价格都呈现到您的页面,然后使用 jquery/css 控制可见性,例如:

<div class="price">
    <span class="incVAT">£11.50 (incl VAT)</span>
    <span class="exVAT">£10.00 (ex VAT)</span>
</div>

然后您的切换器可以执行以下操作:

$('.price .incVAT').show();
$('.price .exVAT').hide();

反之亦然

编辑:我不会在客户端进行计算。大概你正在开一家商店,并不是所有的产品都会有增值税,有些可能会有不同的税率。

编辑重新评论:

有一个jquery cookie 库可以帮助你做 cookie,所以你需要做的就是在加载时读取值:

$(function(){

    ShowPrices();

    $('a#vattoggle').click(function(){
        if($.cookie('VATMODE') == "INC"){
            $.cookie('VATMODE', 'EX');
        } else {
             $.cookie('VATMODE', 'INC')
        }
        ShowPrices();
        return false
    });
});


function ShowPrices(){
    if($.cookie('VATMODE') == "INC"){
        $('.price .incVAT').show();
        $('.price .exVAT').hide();
    } else {
        $('.price .incVAT').hide();
        $('.price .exVAT').show();
    }
}
于 2009-02-18T21:03:36.400 回答