2016-03-02 126 views
0

在我的项目中,结账页面上有两个单选按钮,可选:Pickup Radio Button & Shipping Radio ButtonWoocommerce在结账页面中删除运送费

当用户选择Pickup选项。然后,它显示拾取位置(存储在自定义表格中)。当用户选择船舶选项。它显示woocommerce“运送到不同的地址?”选项。

现在,如果用户选择“Pick up?”,我想通过AJAX删除运费。选项。如果用户选择“发货?”,请重新添加运费选项。

请帮我一把。

回答

1

最后我达到了解决方案。

我已经设置为运送方式(店内取货&本地配送)。并隐藏未经检查的运输方式。一旦客户改变了该选项(点击自定义单选按钮)即Pickup Radio Button &发送单选按钮。在皮卡单选按钮检查我设置商店皮卡运输方法检查和触发运行阿贾克斯和更新购物车总计&运费金额的jquery功能。另一方面,我隐藏了当地的送货方式单选按钮。反之亦然。

的style.css

.woocommerce ul#shipping_method li input { 
    position: absolute; left: -25px; 
} 
.woocommerce ul#shipping_method li { 
    margin: 0; overflow: hidden; padding: 0; position: relative; 
    text-indent: 0; display: none; 
} 
.woocommerce.pickup ul#shipping_method li:first-child { 
    display: block; 
} 
.woocommerce.ship ul#shipping_method li:last-child { 
    display: block; 
} 

jQuery的

$('[name="order_type"]').on("change",function(){ 
    /* Pickup Radio Button/Shipping Radio Button ?*/ 
    showHideOrderTypeOptions(); 
}); 
function showHideOrderTypeOptions() 
{ 
    var order_type = $('[name="order_type"]:checked').val(); 
    if(order_type == "Ship") 
    { 
     $(".shipping_address, #ship-to-different-address").show(); 
     $(".store-locations-wrapper").hide(); 
     $("#store_address_id").val(""); 
     $("#ship-to-different-address-checkbox").attr("checked",true); 
     $('[name="store_address"]').attr("checked",false); 
     $(".woocommerce").removeClass('pickup').addClass("ship"); 
     $("#shipping_method li").eq(1).find("input").trigger("click"); 
    } 
    else 
    { 
     $(".shipping_address, #ship-to-different-address").hide(); 
     $(".store-locations-wrapper").show(); 
     $("#ship-to-different-address-checkbox").attr("checked",false); 
     $(".woocommerce").removeClass('ship').addClass("pickup"); 
     $("#shipping_method li").eq(0).find("input").trigger("click"); 
    } 

}

woocommerce >>形状billing.php

<div class="order-type-wrapper"> 
    <h3>Order Type - </h3> 
    <input id="order-type-pickup" class="input-radio" <?php checked($order_type, 'Pickup'); ?> type="radio" name="order_type" value="Pickup" /> 
    <label for="order-type-pickup" class="radio"><?php _e('Pick up?', 'woocommerce'); ?></label> 

    &nbsp; 
    <input id="order-type-ship" class="input-radio" <?php checked($order_type, 'Ship'); ?> type="radio" name="order_type" value="Ship" /> 
    <label for="order-type-ship" class="radio"><?php _e('Ship?', 'woocommerce'); ?></label> 
</div> 
<div class="store-locations-wrapper"> 
    <input type="hidden" id="store_address_id" name="store_address_id" value="<?php echo $store_address_id; ?>" /> 
    <h3>Pickup Location</h3> 
    Store locations goes here. 
</div> 
相关问题