我试图将Curry(http://curry.netyou.co.il/)与js-cookie API(https://github.com/js-cookie/js-cookie)合并,但我遇到了障碍,我的实验都没有这样做远。我已经能够将货币名称和费率存储到单独的cookie值中,并将它们读回页面,但我无法弄清楚如何重新初始化咖喱功能。
选项" base"似乎不接受变量,我不熟悉js / jQuery足以弄清楚如何告诉curry以不同的方式使用cookie变量。我已经能够使用jQuery从cookie中读取货币名称并更改'选项'要选择',但这本身并不能更新价格,而且我也无法弄清楚如何在该功能之后对咖喱进行重新初始化。我的代码如下:
var savedRate = Cookies.get('site_rate');
var savedCurrency = Cookies.get('site_currency');
$('.currency-list').curry({
target: '.ov-property-price',
base: 'AED',
customCurrency: {
'AED': 1,
'EUR': 0.25,
'GBP': 0.17,
'AUD': 0.36,
'CHF': 0.26,
'CAD': 0.34,
'INR': 17.25,
'IRR': 8015.36
},
symbols: {
'AED': 'AED ',
'EUR': '€',
'GBP': '₤',
'AUD': 'AU$ ',
'CHF': 'CHF ',
'CAD': 'CA$',
'INR': '₹',
'IRR': '﷼'
}
});
$('.currency-list').change(function(){
var selected = $(this).find(':selected'), // get selected currency
rate = selected.data('rate'), // get currency rate
currency = selected.val(); // get currency name
Cookies.set('site_currency', currency);
Cookies.set('site_rate', rate);
});
$('.currency-list option[value="' + savedCurrency + '"]').attr('selected', 'selected');
很抱歉提出这样一个基本问题,但我确信解释会让使用此插件的其他人受益。
非常感谢。
答案 0 :(得分:0)
以下代码应允许您使用已保存的货币或默认的起始货币设置咖喱。
// Setup defaults if cookie returns nothing
var savedRate = Cookies.get('site_rate') || 1;
var savedCurrency = Cookies.get('site_currency') || 'AED';
// Save custom currency list
var customCurrency = {
'AED': 1,
'EUR': 0.25,
'GBP': 0.17,
'AUD': 0.36,
'CHF': 0.26,
'CAD': 0.34,
'INR': 17.25,
'IRR': 8015.36
};
/* Set rate for saved currency
* If saved rate is the same as in the
* customCurrency list there is no need for this stage */
customCurrency[savedCurrency] = savedRate;
// Setup curry with your saved rates
$('.currency-list').curry({
target: '.ov-property-price',
base: savedRate,
customCurrency: customCurrency,
symbols: {
'AED': 'AED ',
'EUR': '€',
'GBP': '₤',
'AUD': 'AU$ ',
'CHF': 'CHF ',
'CAD': 'CA$',
'INR': '₹',
'IRR': '﷼'
}
});