链接到jquery中使用wordpress电子商务产品

问题描述:

嗨我已经想出了一个小设计,但即时通讯有一个问题,它使用jQuery的onclick,如果用户点击产品它显示产品信息在一个正确的痛苦butmy问题是它显示每个产品的相同信息,即时编码在本地主机上,所以不能链接任何人(抱歉)。这里是我的代码:链接到jquery中使用wordpress电子商务产品

<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/header/loader.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $(".buynow").click(function() { 
      if($(".buynow").val() != 0) { 
       alert("The product has now been added to the Shopping cart, click checkout to pay for your items, or close this window to continue shopping."); 
      } 
     }); 

     // Put an animated GIF image insight of content 
     $("#col2").empty().html('<img src="<?php bloginfo('stylesheet_directory'); ?>/header/loading.gif" /> Loading...'); 

     // load index page when the page loads 
     $("#col2").load("<?php echo home_url('?page_id=2'); ?> .entry-content"); 
     $("#col1 li span").click(function(){ 
     // load home page on click 
      $("#col2").load("<?php echo home_url('?page_id=4&category=1&product_id='),wpsc_the_product_id(); ?> .entry-content"); 
     }); 
     //$("#about").click(function(){ 
     // load about page on click 
      //$("#response").load("about.html"); 
     //}); 
     //$("#contact").click(function(){ 
     // load contact form onclick 
      //$("#response").load("contact.html"); 
     //}); 

     $(".product").hover(
      function() { $(this).children(".price").show(); }, 
      function() { $(this).children(".price").hide(); } 
     ); 
    }); 
    </script> 

    <ul id="col1"> 

    <?php while (wpsc_have_products()) : wpsc_the_product(); ?> 

echo home_url('?page_id=4&category=1&product_id='),wpsc_the_product_id(); 

也许这个逗号id='),wpsc应该是点?在JS

<ul id="col1"><li><span id="product-<?php echo wpsc_the_product_id() ?>">Product <?php echo wpsc_the_product_id() ?></span></li></ul> 

而且你应该做这样的事情: 在HTML

$("#col1 li span").click(function(){ 
     var productId = $(this).attr("id");// gets the id of span which contains product id 
     productId = productId.split("-"); 
     productId = productId[1];// contains product id 
     // load home page on click 
      $("#col2").load("<?php echo home_url('?page_id=4&category=1&product_id=')?>"+ productId +" .entry-content"); 
     }); 

因为你应该在循环声明ID为每一个产品,而不是在JS。如果你在js中声明它,它将始终是相同的,硬编码的。你可以看到,如果你在页面加载时检查你的js。它将始终调用第一个产品ID。

+0

与一些修补工作很好,谢谢:) – 2011-03-09 11:02:46

+0

你可以标记答案是正确的,谢谢:) – 2011-03-09 11:23:15