我的同学和我正在构建一个小型提交表单,用户可以在其中提交订单的运费和结算信息。
影响订单价格的两个主要因素是用户选择的运输类型($ shippingType)和商品的价格($ initialPrice)。然后定义变量$ totalPrice,它添加$ shippingPrice和$ initialPrice。
我们正在努力的是在$ shippingPrice被更改而没有用户重新提交表单的情况下更新$ totalPrice。这可以用PHP解决吗?或者我们是否必须使用jquery事件来实时更新页面。
答案 0 :(得分:3)
你想要使用上面提到的某种jQuery。了解PHP仅在AJAX中使用或在页面加载之前使用非常重要。这意味着您无法在已加载的页面上使用PHP。要在加载后更改元素,您需要使用某种类型的javascript / jquery。我附上了一个快速小提琴来说明我认为你正在寻找的一个例子。
它的要点是你将绑定一个change事件,这样当你想要用于mathing的元素被更改时,你可以更新其他项。
$('#shipping').bind('focus, change', function() {
//Get the inital value of the #cost input
var initial_val = parseInt($("#cost").val());
//Value from the #shipping input
var additional = parseInt($("#shipping").val());
//Parsed ints because '+' is used for concatination as well, so making the vars ints will make '+' go back to math.
$("#cost").val(initial_val + additional);
});
不,它不是最漂亮的,但它确实有效。
这里是小提琴: http://jsfiddle.net/Lb486ck8/2/
答案 1 :(得分:0)
您必须使用Javascript来完成此行为。此外,您需要使用AJAX(异步Javascript和XML)才能使其正常工作。 AJAX是Javascript在页面停留在前台时“在幕后”向网页发送请求的一种方式。