在输入更改时,获取 div 中的所有输入值并更新标签

用户7236046

我有以下 HTML:

<div class="filters">

    <div class="filter-label">6</div>

    <div class="filter-inputs">

        <input type="number" name="i1" id="i1" value="1" min="0" step="1" />
        <input type="number" name="i2" id="i2" value="2" min="0" step="1" />
        <input type="number" name="i3" id="i3" value="3" min="0" step="1" />

    </div>

</div>

问题:

我想,当任何输入更改时,我想获取该值和其他两个文本框的值并将它们添加在一起。获得总值后,我需要使用新值更改标签的文本。

我还有以下 JavaScript (jQuery) 来检测何时发生更改,但在那之后,我无法弄清楚如何遍历 div 中的每个输入并获取值。

$('.filter .filter-inputs input').on('input', function() {

    var element = $(this);

    // ...

});

我查看了像 jQueryeach方法这样的循环,但我不知道如何遍历filter-inputsdiv 中的每个输入

内纳德·弗拉卡尔

您可以使用mapget方法从输入创建数组,然后使用方法计算总和reduce

let inputs = $('.filters input');
let label = $('.filter-label');

inputs.on('input', function() {
  let sum = inputs.map(function() {
    return $(this).val()
  }).get().reduce((r, e) => r + +e, 0);

  label.text(sum)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="filters">
  <div class="filter-label">6</div>
  <div class="filter-inputs">
    <input type="number" name="i1" id="i1" value="1" min="0" step="1" />
    <input type="number" name="i2" id="i2" value="2" min="0" step="1" />
    <input type="number" name="i3" id="i3" value="3" min="0" step="1" />
  </div>
</div>

或者您可以Array.from使用reduce方法创建数组,然后使用方法对值求和。

let inputs = $('.filters input');
let label = $('.filter-label');

inputs.on('input', function() {
  label.text(Array.from(inputs).reduce((r, {value}) => r + +value, 0))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="filters">
  <div class="filter-label">6</div>
  <div class="filter-inputs">
    <input type="number" name="i1" id="i1" value="1" min="0" step="1" />
    <input type="number" name="i2" id="i2" value="2" min="0" step="1" />
    <input type="number" name="i3" id="i3" value="3" min="0" step="1" />
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery在div中获取所有复选框和文本输入

来自分类Dev

在输入单选更改时,禁用部分中的所有元素

来自分类Dev

在输入更改时删除div

来自分类Dev

Javascript,在输入更改时更新变量

来自分类Dev

当jquery中的输入更改时更新变量

来自分类Dev

使用角度更改时更新输入字段中的值

来自分类Dev

获取所有具有div中随机ID的输入

来自分类Dev

在输入更改时反应慢

来自分类Dev

更改时从输入中获取setState-无法从输入中删除

来自分类Dev

角度2:在特定div中获取所有<img>标签

来自分类Dev

Javascript形式的getElementsByTagName(“ input”)不能在不同的div中获取所有输入

来自分类Dev

如何对div中的所有输入标签进行文本缩进?

来自分类Dev

如何使用jquery从表中获取所有数据,包括输入和选择标签值?

来自分类Dev

如何在输入框更改时更改标签标签?

来自分类Dev

在输入字段更改时更改HTML

来自分类Dev

如何折叠所有未设置表单输入值的div

来自分类Dev

输入更改更新价格div

来自分类Dev

更改时获取div文本元素

来自分类Dev

Javascript,在输入更改时更新变量

来自分类Dev

当jquery中的输入更改时更新变量

来自分类Dev

从子输入中获取ID值,并在更改时将其推入Javascript中的数组

来自分类Dev

使用角度更改时更新输入字段中的值

来自分类Dev

选择更改时的jQuery更改输入

来自分类Dev

Angular 2:在特定div中获取所有<img>标签

来自分类Dev

jQuery 输入值 div id 并更改颜色

来自分类Dev

使用 .closest 在 div 中获取具有值的输入字段

来自分类Dev

仅在输入更改时获取 JSON 文件一次

来自分类Dev

获取隐藏在 div 中的值输入

来自分类Dev

获取 div 输入的子值

Related 相关文章

热门标签

归档