2012-07-04 120 views
0

Opencart 1.5.3。我试图让页面上的产品选项显示在选项卡内。如果我使用下面的代码,我没有得到任何错误,它看起来很好,但点击添加到车没有任何作用。如果代码在标签之外,则工作正常。林不知道我做错了什么。Opencart如何将产品选项添加到选项卡

<div id="tabs_container"> 
<ul id="tabs"> 
<li class="active"><a href="#tab1">tab1</a></li> 
<li><a href="#tab2">tab2</a></li> 
<li><a href="#tab3">tab3</a></li> 
<li><a href="#tab4">tab4</a></li> 
</ul> 
</div> 

<div id="tabs_content_container"> 
<div id="tab1" class="tab_content" style="display:block"></div><!--tab1--> 
<div id="tab2" class="tab_content"></div><!--tab2--> 
<div id="tab3" class="tab_content"></div><!--tab3--> 
<div id="tab4" class="tab_content"> 

<?php if ($options) { ?> 
     <div class="options"> 
     <h2><?php echo $text_option; ?></h2> 
     <br /> 
     <?php foreach ($options as $option) { ?> 
     <?php if ($option['type'] == 'select') { ?> 
     <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> 
      <?php if ($option['required']) { ?> 
      <span class="required">*</span> 
      <?php } ?> 
      <b><?php echo $option['name']; ?>:</b><br /> 
      <select name="option[<?php echo $option['product_option_id']; ?>]"> 
      <option value=""><?php echo $text_select; ?></option> 
      <?php foreach ($option['option_value'] as $option_value) { ?> 
      <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> 
      <?php if ($option_value['price']) { ?> 
      (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) 
      <?php } ?> 
      </option> 
      <?php } ?> 
      </select> 
     </div> 
     <br /> 
     <?php } ?> 
     <?php } ?> 
     </div> 

</div><!--tab4--> 
</div><!--tabs_content_container--> 

这是Opencart使用的表单提交的JavaScript。

<script type="text/javascript"><!-- 
    $('#button-cart').bind('click', function() { 
     $.ajax({ 
      url: 'index.php?route=checkout/cart/add', 
      type: 'post', 
      data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'), 
      dataType: 'json', 
      success: function(json) { 
       $('.success, .warning, .attention, information, .error').remove(); 

       if (json['error']) { 
        if (json['error']['option']) { 
         for (i in json['error']['option']) { 
          $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>'); 
         } 
        } 
       } 

       if (json['success']) { 
        $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); 
        $('.success').fadeIn('slow'); 
        $('#cart-total').html(json['total']); 
        $('html, body').animate({ scrollTop: 0 }, 'slow'); 
       } 
      } 
     }); 
    }); 
    //--></script> 

回答

1

问题将在于关闭</form>标记不会在标签内容周围。您需要在您的内容后移动</form>,并且应该这样做

+0

我也在考虑表单标签,并且实现了Opencart似乎使用javascript并绑定了提交按钮。我用javascript代码编辑了我原来的帖子。 – dynamo

+0

您是否尝试过移动窗体标记?另外请注意,它们需要位于.product-info类的包装元素中 –

+0

我已经移动了我上面发布的JavaScript绑定函数,但它似乎无关紧要,所以我只是在结束时离开这一页。我认为你想了解用JavaScript编写的.product-info类。我要去检查这些div – dynamo

相关问题