Php 根据尺寸更改价格并显示尺寸
我已经尝试了好几天了,但我似乎无法让它工作。 我想根据用户选择的鞋码更改价格。但是我需要知道checkout.php上选择的大小。我的checkout.php已经开始工作了,但是我需要得到它的大小以及该大小的奖品。在“选择”选项中,我已经指明了价格以及价格的大小。请帮助Php 根据尺寸更改价格并显示尺寸,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我已经尝试了好几天了,但我似乎无法让它工作。 我想根据用户选择的鞋码更改价格。但是我需要知道checkout.php上选择的大小。我的checkout.php已经开始工作了,但是我需要得到它的大小以及该大小的奖品。在“选择”选项中,我已经指明了价格以及价格的大小。请帮助 <div class="content_half float_r"> <form id="add2cart" name="cart" method="Post" action="<?php fet
<div class="content_half float_r">
<form id="add2cart" name="cart" method="Post" action="<?php fetchdir($bpages); ?>cart.php">
<table>
<tr>
<td width="160">Price:</td>
<td name="price" id="price"><?php echo $row ['Start_Cost']; ?></td>
</tr>
<tr>
<td for="size" width="160">size*:</td>
<td>
<select name="size" class="small" id ="size">
<option value="">12 size</option> // the price tag already have the start_Cost for this size
<option value="">14 size(£30.00)</option>
<option value="">16 size(£35.00)</option>
<option value="">18 size(£40.00)</option>
<option value="">20 size(£45.00)</option>
<option value="">22 size(£55.00)</option>
<option value="">24 size(£60.00)</option>
<option value="">26 size(70.00)</option>
<option value="">28 size(£80.00)</option>
</select>
</td>
</tr>
<tr>
// you choose size
<td> size: // the size the person choose will go down here
</td>
</tr>
<tr>
<td>Quantity</td>
<td><input type="text" name="Qty" value="1" style="width: 20px; text-align: right" /></td>
</tr>
</table>
<div class="cleaner h20"></div>
<input type="hidden" name="pid" id="id" value="<?php echo $id; ?>" />
<input type="Submit" class="button" name="button" id="button" value="Add to shopping cart"/>
</form>
</div>
尺码*:
12码//价格标签已包含此码的起始成本
14号(30.00英镑)
16号(35.00英镑)
18号(40.00英镑)
20号(45.00英镑)
22号(55.00英镑)
24号(60.00英镑)
26号(70.00)
28号(80.00英镑)
//你选择大小
尺码:/人员选择的尺码将在此处显示
量
首先,您可能只想通过将鞋码提供给选项的value属性来发送鞋码。选项中的文本只是一个标签
<option value="12">12 size</option>
12码
第二,也是最重要的一点:你永远不希望客户告诉你价格是多少!!!从未!如果有黑客出现,他可以很容易地提交大小设置为12、价格设置为0的表单。你不想免费送那些,是吗?如果他发送负值,Hack甚至可能不得不退款。因此,请修改您的PHP脚本,从内部数组或其他内容计算/查找价格。或者确保您至少彻底验证了输入
要更新价格,您可以使用对php脚本的调用,该脚本只需获取鞋码并返回价格。
看看这是什么意思。您必须用自己的新php脚本替换ajax URL。阅读ajax文档,了解如何正确传递输入和输出数据。在写入数据之前,您还可以将价格乘以数量 首先,您可能只想通过将鞋码提供给选项的value属性来发送鞋码。选项中的文本只是一个标签
<option value="12">12 size</option>
12码
第二,也是最重要的一点:你永远不希望客户告诉你价格是多少!!!从未!如果有黑客出现,他可以很容易地提交大小设置为12、价格设置为0的表单。你不想免费送那些,是吗?如果他发送负值,Hack甚至可能不得不退款。因此,请修改您的PHP脚本,从内部数组或其他内容计算/查找价格。或者确保您至少彻底验证了输入
要更新价格,您可以使用对php脚本的调用,该脚本只需获取鞋码并返回价格。
看看这是什么意思。您必须用自己的新php脚本替换ajax URL。阅读ajax文档,了解如何正确传递输入和输出数据。在写入数据之前,您还可以将价格乘以数量 这里有一个工作示例供您使用
请注意我是如何添加
s的,以便能够在所需位置插入文本。我还添加了一些id
s来帮助选择正确的DOM
元素
下面是基于jQuery
的JavaScript
// initially provide data
var shoeData = {
12: 25,
14: 30,
16: 35
}
$(function () {
$(document).ready(function () {
// dynamically create the options in the select
$.each(shoeData, function (key, value) {
$("#size").append($("<option>", {
"value": key,
"text": key + " size(£" + value + ")"
}));
});
// display the initial data
updateHandler();
});
// register for update events on the input fields
$("#size").on('change', updateHandler);
$("#qty").on('input', updateHandler);
});
// handle update events (when an input field was changed)
function updateHandler() {
// accumulate the data
var value = $("#size").val();
var quantity = $("#qty").val();
var price = shoeData[value];
var endPrice = price * quantity;
// display the data
$('#priceDisplay').html(price);
$("#sizeDisplay").html(value);
$("#totalDisplay").html(endPrice);
}
当客户更改鞋子尺寸或数量时,只需将字符串写入相应span
s的“html
”属性,即可更新总数、价格和鞋子信息
您的cart.php
将收到预期的表单-这意味着您将获得“quaty
”和“size
”。您必须根据$REQUEST[“size”]
中的值在PHP
中查找价格,然后将其乘以$REQUEST[“Qty”]
的值,以获得总价格 这里有一个工作示例供您使用
请注意我是如何添加
s的,以便能够在所需位置插入文本。我还添加了一些id
s来帮助选择正确的DOM
元素
下面是基于jQuery
的JavaScript
// initially provide data
var shoeData = {
12: 25,
14: 30,
16: 35
}
$(function () {
$(document).ready(function () {
// dynamically create the options in the select
$.each(shoeData, function (key, value) {
$("#size").append($("<option>", {
"value": key,
"text": key + " size(£" + value + ")"
}));
});
// display the initial data
updateHandler();
});
// register for update events on the input fields
$("#size").on('change', updateHandler);
$("#qty").on('input', updateHandler);
});
// handle update events (when an input field was changed)
function updateHandler() {
// accumulate the data
var value = $("#size").val();
var quantity = $("#qty").val();
var price = shoeData[value];
var endPrice = price * quantity;
// display the data
$('#priceDisplay').html(price);
$("#sizeDisplay").html(value);
$("#totalDisplay").html(endPrice);
}
当客户更改鞋子尺寸或数量时,只需将字符串写入相应span
s的“html
”属性,即可更新总数、价格和鞋子信息
您的cart.php
将收到预期的表单-这意味着您将获得“quaty
”和“size
”。您必须根据$REQUEST[“size”]
中的值在PHP
中查找价格,然后将其乘以$REQUEST[“Qty”]
的值,以获得总价格 如果
元素的值属性为空,则不会将任何内容传递回后端。你需要那些value=”“
中的东西。
的文本内容仅用于显示目的。将尺寸价格放入选项值中
?我想将尺寸传递给后端,并在价格上将该尺寸的价格传递给后端。我以前在value=“”中尝试过14号尺码的value=“£30.00”,但我一直传递30.00英镑,我不想要,但我想传递它的尺码,然后将您确实想要传递的信息(即尺码)放入值中@leftclickben说得对。顺便说一句,我建议您传递特定的产品ID,而不是大小-更不容易出错