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

时间:2013-11-21 15:29:46

标签: 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>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();

}

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

1 个答案:

答案 0 :(得分:0)

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();

}