让我解释一下,我已经在数据库中创建了一个带有列的表(bed_type,尺寸*厚度,价格)。默认情况下,图像选择尺寸和厚度如图所示现在用户可以选择任何床型,尺寸和厚度,所以根据该价格将改变我发送ajax请求数据库,如果条件匹配,那么我在这一段得到价格
<p class='prices' id='demo' style='margin-left:22%;'></p>
现在我想通过购物车中的计算价格如何实现这一目标。我从上周开始尝试这项任务,但没有得到任何结果。请指导我
床型的Ajax
function price()
{
var current_id=this.id;
var dimension = document.getElementById(current_id).value; // dimension
var thickness = document.getElementById("thickness").value;
var res = dimension.concat('x'+thickness);
jQuery.ajax({
url: "/Mattressbox/price",
data: {price: res},
type: "POST",
success:function(data){
$("#result").html(data);
},
error:function (){}
});
}
price.php代码
global $wpdb;
if(isset($_POST['price']))
{
$price_value = $_POST["price"];
$result = $wpdb->prepare("SELECT price FROM wp_single WHERE size='".$price_value ."'",$id,null);
$row = $wpdb->get_row($result);
$price = $row->price;
if($price > 0)
{
echo '<script>';
echo 'var name = ' . json_encode($price) . ';';
echo 'document.getElementById("demo").innerHTML ="₨ " + name;';
echo '</script>';
}
else
{
//echo "failed";
}
}
在本段中我使用ajax获得动态价格
<p class='prices' id='demo' style='margin-left:22%;'></p>
现在我试图通过这段代替这个自定义价格
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
$custom_price = "<p class='prices' id='demo' style='margin-left:22%;'></p>"; // This will be your custom price
foreach ( $cart_object->cart_contents as $key => $value ) {
$value['data']->price = $custom;
}
}
只有静态价格会在购物车中出现,但这不起作用请提出建议......谢谢..