2010-12-08 65 views
0

我正在嘗試使用Yoxview燈箱圖庫將購物車(simplecart-js)整合到頁面中。燈箱允許按鈕集成到標題欄中,我試圖獲得一個購物車按鈕,當點擊它時,讀取特定的值,然後使用第二個點擊函數,在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我錯過了一些東西,只要讀取span中的值即可。任何幫助或方向將不勝感激。

回答

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工作?

+0

顯然,我是一個jquery新手,我不知道,因爲我要求幫助。 – Macsupport 2010-12-08 07:01:06

+0

關鍵是你需要整理範圍並以不同的方式創建範圍。 – 2010-12-08 23:00:18

0

您正在創建一個本地作用域變量price在您的匿名函數中傳遞給click函數。所以價格變量在匿名函數之外是不可用的。