javascript - jquery 计算器,具有数组中的可编辑字段

标签 javascript jquery arrays

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

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

JS Fiddle

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

正如你在 jsfiddle 列表中看到的那样:

猫0

狗0

猴子0

总计:

因此,如果用户将 cat 更新为 2,dog 更新为 1,我想总共显示 3。

谢谢。

编辑: Link to previous questions

最佳答案

请引用fiddle

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

$(".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);
  });
}

更新

为了重置总拖动量,您需要在可放置事件中添加我的计算器方法。因此您的代码将如下所示

$(".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.
    }
  });
});

这是一个示例 Fiddle 。请检查它是否适合您

希望这对您有帮助。

关于javascript - jquery 计算器,具有数组中的可编辑字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38180216/

相关文章:

javascript - JavaScript 和 onclick 事件的问题

c# - ajax中传递参数得到空值

javascript - 有条件地加载 javascript 文件中的 js 部分 WordPress

javascript - Angular 2.0 Beta - 访问 DOM 适配器 - BrowserDomAdapter

javascript - Electron 安装程序完整性检查失败

c# - 从月份数组中获取一系列值

javascript - 使用 Node.js 从网页中抓取 URL

javascript - 从对象数组中添加属性

javascript - DateJS 缺少的功能

html - 如何在页面加载时使用 jquery 更改图像域