JQuery切换VAT切换

时间:2009-02-18 20:59:43

标签: javascript jquery switch-statement toggle unobtrusive-javascript

我想在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>

请帮忙。

1 个答案:

答案 0 :(得分: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 library可以帮助你完成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();
    }
}