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


Automatically updating a PHP variable when a radio button or dropdown menu item is selected

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

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

我们正在努力的是,当$shippingPrice更改时,在不需要用户重新提交表单的情况下更新$totalPrice。这可以使用php解决吗?或者我们必须使用jquery事件来实时更新页面。

您需要使用上面提到的某种jQuery。重要的是要理解PHP只在AJAX中使用,或者在页面加载之前使用。这意味着您不能在已经加载的页面上使用PHP。要在加载后更改元素,您需要使用某种类型的javascript/jquery。我附上了一个快速的fiddle来举例说明我认为您正在寻找的内容。

它的要点是,您将绑定一个更改事件,这样当您要用于数学运算的元素发生更改时,您就可以更新其他项。

$('#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);
});

不,它不是最漂亮的,但它很管用。

Fiddle:http://jsfiddle.net/Lb486ck8/2/

您必须使用Javascript来完成此行为。此外,您还需要使用AJAX(异步Javascript和XML)来使其工作。AJAX是Javascript在页面处于前台时"在后台"向网页发送请求的一种方式。

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