2016-07-05 43 views
1

當用戶按我的法師商店上的按鈕來顯示和隱藏增值稅價格時,我正在使用jquery cookie來刪除cookie。Toggle cookie true false magento

我現在的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'); 
    } 
} 

林則使用的前端下面的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,我似乎無法弄清楚爲什麼會這樣。任何幫助都是極好的。

回答

1

這是因爲cookie被保存爲字符串。並且字符串「false」評估爲true。所以你需要設置實際的字符串值並進行比較。在這個崗位

的更多信息:jquery cookie set value to boolean true

+1

所以我只想澄清Aximus正上方,我做了什麼來改變這個如下:修改了cookie來:$ j.cookie(「showVat」,「激活」 ,{path:'/'}); ($ j(this).text()=='Show VAT'){$ j.cookie(「showVat」,'disable',{path:'/'}); \t}'然後在php <?php if($ cookie =='enabled'?>謝謝。 –