Php 使用ajax从文本框动态更改计算

Php 使用ajax从文本框动态更改计算,php,jquery,ajax,Php,Jquery,Ajax,我这里有一个场景,输入和显示页面是从php代码动态生成的。 在这里输入代码 <div>Aeroplane</div> <input id="Item556" type='number' onchange="funCal('Item556', this.value, 'Aeroplane')"> <input class="disp" name="Item556" type="text" disabled> <div>P

我这里有一个场景,输入和显示页面是从php代码动态生成的。 在这里输入代码

<div>Aeroplane</div>
   <input id="Item556" type='number' onchange="funCal('Item556', this.value, 'Aeroplane')">
   <input class="disp" name="Item556" type="text" disabled>

  <div>Plane</div>
  <input id="Item557" type='number' onchange="funCal('Item557', this.value, 'Plane')">
  <input class="disp" name="Item557"  type="text" disabled>

  <div>Bikes</div>
  <input id="Item558" type='number' onchange="funCal('Item558', this.value, 'Bikes')">
  <input class="disp" name="Item558" type="text" disabled >

  <div>Cars</div>
  <input id="Item559" type='number' onchange="funCal('Item559', this.value, 'Cars')">
  <input class="disp" name="Item559"  type="text" disabled >
飞机
飞机
自行车
汽车
Ajax是:

function funCal(ID, value, name){
    var ID1 = ID;   var value1 = value; var name1 = name;
                $.ajax({
                    type:"post",
                    url:"calculate.php",
                    data: "id="+ID1+"&value="+value1,
                    cache: false,
                    dataType: 'json',
                    success:function(data){
                    <span>pound;+ data.output +</span>

//added similar to self.next().val(data.output); and tweak around it to work.
updateTotal();
                            }
                    });     
            };
);

function updateTotal() {
var total = 0;

$("input.disp").each(function() {
    getPrices = parseFloat($(this).val().replace(/,/g, ''));
    total += getPrices;
});

$("span#total").html("&pound;" + total.toFixed(2)).digits();
函数函数(ID、值、名称){
var ID1=ID;var value1=value;var name1=name;
$.ajax({
类型:“post”,
url:“calculate.php”,
数据:“id=“+ID1+”&value=“+value1,
cache:false,
数据类型:“json”,
成功:功能(数据){
磅;+data.output+
//添加了类似于self.next().val(data.output)的内容,并对其进行了调整。
updateTotal();
}
});     
};
);
函数updateTotal(){
var合计=0;
$(“input.disp”)。每个(函数(){
getPrices=parseFloat($(this).val().replace(/,/g',);
合计+=价格;
});
$(£;“+total.toFixed(2)).digits();
}

一,。我想要实现的是,当在输入框中输入值时,对应的框(带有类“disp”框应显示计算值) 例如,带有Item559的输入id应该显示在名为“Item559”的输入框上的ajax成功值之后。 任何专家的建议都是有价值的,我非常感激,因为我对ajax和php非常陌生。--我得到了Bhadra在下面建议的第一个答案 2.如何将input.disp框中的总值相加或求和?非常感谢您的建议!
提前感谢

一些评论:您的success函数中有html代码,这将给出一个错误,此外,您有许多关闭的
div
标记从未打开过,任何元素的
id
都应该是唯一的,现在您有4个输入,其中
id
设置为
“disp”
,这些输入也没有定义类型。最好检查ajax Callback中的
这个
是什么。将它更改为self。现在应该没有问题了。对不起,Bahdra!我不明白。self.next()的用途是什么。self.next()指的是“self”的下一个元素。self是当前正在进行更改的“.numberclass”元素,我们想用ajax中的新值替换下一个“.disp”元素值。抱歉,Bahdra!我不明白。self.next()的含义是什么?内部成功函数代码。上面的场景代码是工作条件。只想在分别输入的Kg/数据旁边显示返回的计算值“after ajax success”。
function updateTotal() {
var total = 0;

$(".disp").each(function() {
    var getPrices = parseFloat($(this).val().replace(/,/g, '').replace('pound;',''),10);
    total += getPrices;
});

$("span#total").html("&pound;" + total.toFixed(2)).digits();

}