我正在尝试使用Yoxview灯箱库将购物车(simplecart-js)集成到页面中。灯箱允许集成到标题栏中的按钮,我试图让购物车按钮工作,当点击时,读取s内的特定值,然后使用第二次点击功能,在simplecart中使用这些值(simplecart.add) 。 这是代码:
$('.simpleCart_shelfItem').click(function () {
var name = $(this).find('span').text().replace('$', '');
var price = $(this).find('span').text().replace('$', '');
var thumbs = $(this).find('span').text().replace('$', '');
});
var yoxviewCartButton = $("<a>", {
title: "Add to cart",
href: "javascript:;",
onClick: "simpleCart.add('name=' + name, 'price=' + price, 'quantity=1', 'thumb=' + thumbs);"
});
yoxviewCartButton.append($("<img>", {
src: "res/js/yoxview/images/yoxview_cart_icon.png",
alt: "Add to cart",
css: { width: 18, height: 18 }
}));
HTML如下:
<a class="item simpleCart_shelfItem" href="slides/foo.jpg" title="Test">
<span class="caption item_name">Title 0</span>
<span class="item_price">$14.99</span>
<span class="item_thumb">thumbs/foo.jpg</span></a>
我一直收到错误“价格未定义”。 Obvioulsy我在阅读跨度中的值时遗漏了一些东西。任何帮助或指示将不胜感激。
答案 0 :(得分:0)
这是一个简单的答案:范围。看看目前的情况:
$('.simpleCart_shelfItem').click(
function () {
var name = $(this).find('span').text().replace('$', '');
var price = $(this).find('span').text().replace('$', '');
var thumbs = $(this).find('span').text().replace('$', '');
}
);
var yoxviewCartButton = $("<a>",
{
title: "Add to cart",
href: "javascript:;",
onClick: "simpleCart.add('name=' + name, 'price=' + price, 'quantity=1', 'thumb=' + thumbs);"
}
);
yoxviewCartButton.append(
$("<img>",
{
src: "res/js/yoxview/images/yoxview_cart_icon.png",
alt: "Add to cart",
css: { width: 18, height: 18 }
}
)
);
你真的期望yoxviewCartButton
能够发挥作用吗?
答案 1 :(得分:0)
您正在传递给price
函数的匿名函数中创建一个本地范围的变量click
。因此,在匿名函数之外无法使用价格变量。