jquery - 将 jquery 选择限制为特定形式

标签 jquery forms scope

我有一个页面,上面有多个表单,我很难从每个表单中获取值来提供各个表的总计。 HTML 是动态生成的,我无法对其进行修改。这是每个表单的样子(但每次运行时它们的行数都会不同......

<form>
<input type=number class="entries" onchange="addTotal();">
<input type=number class="entries" onchange="addTotal();">
<input type=number class="totals">
</form>

这是我必须添加每个表单并将总计放入“总计”框中的函数。这对于第一种形式非常有用,但问题是无论我输入哪种形式的值,它都会汇总顶部形式“总计”中的所有内容。

function addTotal() {
  var entry = $('.entries').get();
  var total = 0;
  for (var i = 0; i < entry.length; i++) {
      if(Number(entry[i].value))
          total += Number(entry[i].value);
   }
   $('.totals').value = total;
  };

我还尝试摆脱 onchange 操作并尝试将每个表单引用为“this”,但我似乎无法以这种方式获取所有值,我只得到一个数组...

$(.entries').change(function() {
var entry = ($(this.form).get());
  console.log(entry);
});

我确信我可能缺少一些明显的东西,但我似乎无法在这里得到我需要的东西。任何建议,将不胜感激!!

最佳答案

已更新现在可用于任意数量的字段 这是一个 fiddle :http://jsfiddle.net/vx403ax0/6/

$(document).ready(function () {
    $(".entries").change(function () {
        $("form").each(function () {
           var result = 0;
            $(this).find(".entries").each(function(i, el){
                result += parseInt(el.value);
            });
            if(isNaN(result)){
            return;
            } else{
           $(this).find(".totals").val(result);
            }
        });
    });
});

关于jquery - 将 jquery 选择限制为特定形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28457203/

相关文章:

c++ - 这段c++代码是怎么回事? (继承的解析运算符?!?)

c++ - 如何递归访问父作用域?

javascript - 表单字段值未正确传递到 JSON 对象

php - php 从数组中获取值

javascript - 意外的 JS/jQuery 循环行为

delphi - 如何在显示之前定位表单?

javascript - 当我使用 input type=button 时,它的值不会发送到服务器

javascript - 如何从 javascript 数组中删除所有未定义的键(希望在创建数组时?)

ruby-on-rails - 如何在Rails 3.1中以单一形式创建多个对象?

java - 无法在for循环外打印变量