2010-12-08 15 views
0

Ich versuche, einen Einkaufswagen (simplecart-js) in eine Seite mit Yoxview Leuchtkasten Galerie zu integrieren. Die Lightbox ermöglicht das Einfügen von Buttons in die Titelleiste und ich versuche eine Cart-Schaltfläche zu finden, die, wenn sie angeklickt wird, bestimmte Werte innerhalb von 's liest und dann mit einer zweiten Klick-Funktion diese Werte in simplecart (simplecart.add) benutzt . Hier ist der Code:Hilfe beim Suchen und Ersetzen von Text bei Klick-Funktion

$('.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 } 
    }));  

Die HTML ist wie folgt:

<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> 

Ich erhalte den Fehler "Preis nicht definiert ist". Offensichtlich fehlt mir etwas, was das Lesen der Werte in der Spanne betrifft. Jede Hilfe oder Richtung würde geschätzt werden.

Antwort

0

Hier ist die einfache Antwort: Scope. Schauen Sie sich diese, wie es derzeit ist:

$('.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 } 
     } 
    ) 
); 

Haben Sie wirklich erwarten, yoxviewCartButton zu arbeiten?

+0

Offensichtlich bin ich ein jquery Neuling und ich wusste nicht, seit ich um Hilfe bat. – Macsupport

+0

Der Punkt ist, dass Sie den Bereich sortieren und auf eine andere Weise erstellen müssen. –

0

Sie erstellen eine lokal begrenzte Variable price innerhalb Ihrer anonymen Funktion, die an die click-Funktion übergeben wird. Daher ist die Preisvariable außerhalb Ihrer anonymen Funktion nicht verfügbar.

+0

Vielen Dank für die Info. Ich schätze es. – Macsupport