我有邮政编码的输入文字字段。根据用户输入的邮政编码,用PHP指定运费价格(不同的邮政编码区域有不同的运费)。
稍后在表单中,无论指定了哪个运费,都需要将其用作JS计算的一部分以获得总计。
这是我的PHP:
if ($postcode >= 2000 && <= 2234) {
$shipping = 55.00;
} elseif ($postcode >= 2250 && <= 2310) {
$shipping = 105.00;
} elseif ($postcode >= 2311 && <= 2359) {
$shipping = 160.00;
}
echo $shipping;
?>
和JS:
$(document).ready(function() {
$('#postcode').change(function(){
$.ajax({
type: "GET",
url: "shipping.php",
data: 'shipping=' + $('#postcode').val(),
success: function(msg){
$('#shipping').html(msg);
}
}); // Ajax Call
}); //event handler
}); //document.ready
所以我不认为数据&amp; AJAX调用的成功是正确的。基本上,我需要获得$ shipping&amp;的价值。然后将其输出到div(以便用户可以看到它)。我错过了什么?
答案 0 :(得分:0)
对php文件进行ajax调用,然后提交邮政编码。服务器代码应返回(回显)给定邮政编码的运费。获取ajax的回复,这将是运费。您现在可以在计算中使用此值(值应转换为int或float,因为默认情况下来自ajax的响应是文本)
答案 1 :(得分:0)
在下面的代码中:
if ($postcode >= 2000 && <= 2234) {
$shipping == 55.00;
} elseif ($postcode >= 2250 && <= 2310) {
$shipping == 105.00;
} elseif ($postcode >= 2311 && <= 2359) {
$shipping == 160.00;
}
您必须使用赋值运算符(single =),而不是equals运算符(==)。示例:$ shipping == 55.00变为$ shipping = 55.00
此外,所有if语句中的第二个条件都缺少操作数(变量): 而不是
if ($postcode >= 2000 && <= 2234) {
使用以下内容:
if ($postcode >= 2000 && $postcode<= 2234) {