Javascript 带有数组中可编辑字段的jquery计算器

Javascript 带有数组中可编辑字段的jquery计算器,javascript,jquery,arrays,Javascript,Jquery,Arrays,根据前面对另一个问题的回答,下一步是添加迷你计算器 for (var i = 0; i < animals.length; i++) { output.push('<p>' + animals[i] + '<input class="pull-right" value="0" />' + '</p>'); for(变量i=0;i

根据前面对另一个问题的回答,下一步是添加迷你计算器

for (var i = 0; i < animals.length; i++) {
    output.push('<p>' + animals[i] + '<input class="pull-right" value="0" />' + '</p>');
for(变量i=0;i');

我试图用jquery val()获取输入值,但没有成功。。。 还有其他建议吗

正如您在JSFIDLE列表中看到的那样:

第0类

狗0

猴子0

总数:

所以,若用户将cat更新为2,将dog更新为1,我想总共显示3个

谢谢

编辑:

您有一些输入字段,希望从这些字段中获取值并添加总计,然后在总计字段中显示。 您可能需要添加一个按钮,单击该按钮可调用一个js函数,该函数从所有字段中获取值并将其添加,最后将值附加到“#total animals”中

添加
var合计=0;
$('button')。单击(函数(){
//您可能希望在这里进行循环,并为每个输入字段提供一些id。
//在循环内部:
总计+=$(“#输入_字段的#id_).val();
//循环结束时,请执行此操作。
var el=“total=”+total+”;
$(“#动物总数”)。追加(el);
}

您有一些输入字段,希望从这些字段中获取值并添加总计,然后在总计字段中显示。 您可能需要添加一个按钮,单击该按钮可调用一个js函数,该函数从所有字段中获取值并将其添加,最后将值附加到“#total animals”中

添加
var合计=0;
$('button')。单击(函数(){
//您可能希望在这里进行循环,并为每个输入字段提供一些id。
//在循环内部:
总计+=$(“#输入_字段的#id_).val();
//循环结束时,请执行此操作。
var el=“total=”+total+”;
$(“#动物总数”)。追加(el);
}

因为我不确定拖放代码的用途,我在下面的fiddle中删除了它

您可以检查小提琴链接

for(变量i=0;i');
}
$('#list').html(output.join(“”);
$(“.animals input”).change(函数(e){
var number=parseInt(即currentTarget.value);
var animal=$(e.currentTarget).attr(“数据id”);
动物总数[动物]=数量;
countTotal(动物总数);
})
函数countTotal(总计){
var t=0;
用于(var i总计){
t+=总[i];
}
$(“#动物总数”).html(“总数:+t);
}
不同的部分是,我将在每个输入端附加一个动物id,以识别哪个输入值被更改

当输入值改变时,它可以计算总值


希望它能对您有所帮助。

因为我不确定拖放代码的用途,我在下面的fiddle中删除了它

您可以检查小提琴链接

for(变量i=0;i');
}
$('#list').html(output.join(“”);
$(“.animals input”).change(函数(e){
var number=parseInt(即currentTarget.value);
var animal=$(e.currentTarget).attr(“数据id”);
动物总数[动物]=数量;
countTotal(动物总数);
})
函数countTotal(总计){
var t=0;
用于(var i总计){
t+=总[i];
}
$(“#动物总数”).html(“总数:+t);
}
不同的部分是,我将在每个输入端附加一个动物id,以识别哪个输入值被更改

当输入值改变时,它可以计算总值


希望它能帮助你。

只需在你的js末尾添加这个

如果用户输入的不是数字,你应该测试用户输入。如果你在页面中用于其他目的,你还需要在输入文本中添加一个类

$('input:text').on('change',function(){
    var total = 0;
    $("input:text").each(function() {
    total += parseInt($(this).val());
    });

  $('#total-animals').html("Total: " + total);
});

只需将此添加到js的末尾

如果用户输入的不是数字,你应该测试用户输入。如果你在页面中用于其他目的,你还需要在输入文本中添加一个类

$('input:text').on('change',function(){
    var total = 0;
    $("input:text").each(function() {
    total += parseInt($(this).val());
    });

  $('#total-animals').html("Total: " + total);
});
请参阅

在文本框“更改事件”中,请添加如下函数

$(".animals-input").change(function(e) {
  calculator();
});

function calculator()
{
  var result = parseInt(0);
  $(".animals-input").each(function(){
    result = result + parseInt($(this).val());
    $("#total-animals").html("Total:"+result);
  });
}
更新

为了重置总拖动,您需要在可拖放事件中添加my calculator方法

$(".animals-box").droppable({
    drop: function(event, ui) {
      if ($(".animals-box img").length == 0) {
        $(".animals-box").html("");
      }
      ui.draggable.addClass("dropped");
      var elem = ui.draggable[0].getAttribute('id').split('-')[1];
      animals.splice(animals.indexOf(elem), 1);
      var output = [];
      for (var i = 0; i < animals.length; i++) {
        output.push('<p>' + animals[i] + '<input class="pull-right" value="0" />' + '</p>');
      }
      $('#list').html(output.join(""));
      $(".animals-box").append(ui.draggable);
      $('#list').html(output.join(""));
      calculator(); // Add this method into your existing code you will get the result.
    }
  });
});
$(“.animals box”)。可拖放({
drop:函数(事件、用户界面){
如果($(“.animals box img”).length==0){
$(“.anives box”).html(“”);
}
ui.draggable.addClass(“已删除”);
var elem=ui.draggable[0].getAttribute('id').split('-')[1];
动物.剪接(动物.索引of(elem),1);
var输出=[];
对于(变量i=0;i');
}
$('#list').html(output.join(“”);
$(“.anists框”).append(ui.draggable);
$('#list').html(output.join(“”);
calculator();//将此方法添加到现有代码中,您将得到结果。
}
});
});
这是一个样品。请检查它是否适合您

我希望这能对您有所帮助。

请参阅

在文本框“更改事件”中,请添加如下函数

$(".animals-input").change(function(e) {
  calculator();
});

function calculator()
{
  var result = parseInt(0);
  $(".animals-input").each(function(){
    result = result + parseInt($(this).val());
    $("#total-animals").html("Total:"+result);
  });
}
更新

为了重置总拖动,您需要在可拖放事件中添加my calculator方法

$(".animals-box").droppable({
    drop: function(event, ui) {
      if ($(".animals-box img").length == 0) {
        $(".animals-box").html("");
      }
      ui.draggable.addClass("dropped");
      var elem = ui.draggable[0].getAttribute('id').split('-')[1];
      animals.splice(animals.indexOf(elem), 1);
      var output = [];
      for (var i = 0; i < animals.length; i++) {
        output.push('<p>' + animals[i] + '<input class="pull-right" value="0" />' + '</p>');
      }
      $('#list').html(output.join(""));
      $(".animals-box").append(ui.draggable);
      $('#list').html(output.join(""));
      calculator(); // Add this method into your existing code you will get the result.
    }
  });
});
$(“.animals box”)。可拖放({
drop:函数(事件、用户界面){
如果($(“.animals box img”).length==0){
$(“.anives box”).html(“”);
}
ui.draggable.addClass(“已删除”);
var elem=ui.draggable[0].getAttribute('id').split('-')[1];
动物.剪接(动物.索引of(elem),1);
var输出=[];
对于(变量i=0;i');
}
$('#list').html(output.join(“”);
$(“.anists框”).append(ui.draggable);
$('#list').html(output.join(“”);
calculator();//将此方法添加到现有代码中,您将得到结果。
}
});
});
这是一个样本。请检查它是否适合你

我希望这会对您有所帮助。

您需要吗