选择单选按钮或下拉菜单项时自动更新PHP变量

时间:2015-02-10 17:06:55

标签: javascript php jquery html

我的同学和我正在构建一个小型提交表单,用户可以在其中提交订单的运费和结算信息。

影响订单价格的两个主要因素是用户选择的运输类型($ shippingType)和商品的价格($ initialPrice)。然后定义变量$ totalPrice,它添加$ shippingPrice和$ initialPrice。

我们正在努力的是在$ shippingPrice被更改而没有用户重新提交表单的情况下更新$ totalPrice。这可以用PHP解决吗?或者我们是否必须使用jquery事件来实时更新页面。

2 个答案:

答案 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在页面停留在前台时“在幕后”向网页发送请求的一种方式。

http://api.jquery.com/jQuery.post/