Javascript 切换cookie true false magento

Javascript 切换cookie true false magento,javascript,php,jquery,magento,cookies,Javascript,Php,Jquery,Magento,Cookies,当用户按下my mage store上的按钮以显示和隐藏增值税价格时,我使用jquery cookie删除cookie 我现在的js看起来是这样的: $j('.nav-customer-vat a').click(function(){ $j(this).text($j(this).text() == 'Show VAT' ? 'Hide VAT' : 'Show VAT'); $j(this).toggleClass('active'); if($j(this).t

当用户按下my mage store上的按钮以显示和隐藏增值税价格时,我使用jquery cookie删除cookie

我现在的js看起来是这样的:

$j('.nav-customer-vat a').click(function(){

    $j(this).text($j(this).text() == 'Show VAT' ? 'Hide VAT' : 'Show VAT');
    $j(this).toggleClass('active');

    if($j(this).text() == 'Show VAT'){
        console.log('show');
        $j.cookie("showVat", false, { path: '/' });     
    } else if($j(this).text() == 'Hide VAT'){
        $j.cookie('showVat', true)
        console.log('hide');
    } 
}
然后,Im在前端使用以下magento cookie getModel测试cookie是真是假:

<?php  $cookie = Mage::getModel('core/cookie')->get('showVat'); ?>
        <?php if($cookie){ ?>
        <a href="#" class="display-vat"><?php echo $this->__('Hide VAT'); ?></a>
        <?php } else { ?>
        <a href="#" class="display-vat"><?php echo $this->__('Show VAT'); ?></a>
    <?php } ?>


然而,这似乎只工作了一次,然后每次点击都会返回false,我似乎不明白为什么会这样。任何帮助都会很棒。

这是因为cookies被保存为字符串。字符串“false”的计算结果为true。所以您需要设置实际的字符串值并进行比较


这篇文章中的更多信息:

为了澄清Aximus就在上面,我做了如下更改:将cookie更改为:$j.cookie('showVat','enabled',{path:'/');如果($j(this).text()=='Show-VAT'){$j.cookie(“showVat”、'disable'、{path:'/'});},则在php中