我正在构建一个自定义添加到购物车系统。一种产品可以有许多标准,如颜色,大小等。这些标准可以在后端动态添加。
现在在前端,我使用php来获取产品页面的所有动态条件。脚本如下:
<form class="cart">
<div class="add-to-cart-table">
<?php
$sqlac = "SELECT * FROM sym_product_option WHERE product_id = '$pk'";
$stmtac = $dbo->prepare($sqlac);
$stmtac->execute();
while($rowac = $stmtac->fetch(PDO::FETCH_ASSOC)){
$huhu = $rowac["option_id"];
$sqlag = "SELECT * FROM sym_product_option_value WHERE option_id = '$huhu'";
$stmtag = $dbo->prepare($sqlag);
$stmtag->execute();
?>
<div class="option">
<?php echo $rowac["option_name"]; ?>
<select name="" class="form-control" class="option" onchange="calc()" data-option-id="<?php echo $rowac["option_"]; ?>" >
<?php while($rowag = $stmtag->fetch(PDO::FETCH_ASSOC)){
if($rowag["value_price"] == "0.00"){
$demson = "";
} else {
$demson = "Add-On RM ".$rowag["value_price"];
}
?>
<option value="<?php echo $rowag["value_id"]; ?>" data-price="<?php echo $rowag["value_price"]; ?>"><?php echo $rowag["value_name"]." ".$demson; ?> </option>
<?php } ?>
</select>
</div>
<?php } ?>
<div style="margin-top: 30px;" >
<button type="button" class="button" onclick="addtocart();" style="width:100%;">Add to cart</button>
</div>
</div>
现在我想知道如何使用jquery获取每个条件ID(data-option-id),条件选项值(选择下拉值)并将它们组合成一个数组以发送到php后端。我认为数组应该是这样的:
$data = array ( "0" => array ( "option-id" => "1", "option-value" => "5"), "1" => array ( "option-id" => "2", "option-value" => "8"));
有人可以帮我这个吗?非常感谢您的帮助。谢谢!
答案 0 :(得分:0)
我认为您要做的是在选项下拉列表周围添加一个开始和结束表单标记。之后,您可以使用下面的代码序列化表单并使用ajax
将其发送到服务器$( "form" ).on( "submit", function( event ) {
event.preventDefault();
console.log( $( this ).serialize() );
});