javascript - 如何在输入文本字段中添加或增加数值?

标签 javascript jquery html

我正在使用这个jquery计算插件:http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm

我正在使用求和示例。

在我的版本中,我动态地将值插入到字段中并重新计算,一切运行良好,但到目前为止我只是将新值插入到空字段中。

现在,在一个单独的操作中,我想增加先前已填充值的字段之一的值,然后再次重新计算。

我设置了一个 fiddle 来完成我想要做的事情。

http://jsfiddle.net/rEQnY/1/

有一个带有选项的下拉菜单。每个选项都有一个数值。

现在作为示例,让我们随机选择一个字段。假设第三个字段中有数字“1”。

当我选择其中一个下拉值时,我希望其中带有数字 1 的第三个字段增加那么多,然后总和框也应该增加那么多。

在 JavaScript 中,我开始监听下拉框中的更改,但是我在其中插入什么?

也许我可以像这样获取选定的值:

$('#numbers').val();

但是我如何将它添加到其他字段?

更新:

如何修复这个新版本?

http://jsfiddle.net/rEQnY/8/

我想要 2 个不同的字段为另一个字段添加值。

如果下拉菜单 1(单独)将 2 添加到第三个输入文本框,则第三个输入文本框应变为 3。

如果下拉菜单 2(单独)将 2 添加到第三个输入文本框,则第三个输入文本框应变为 3。

如果在两个下拉列表中都选择了 2,则应将 4 添加到第三个输入文本框并变为 5。

如果重置下拉菜单 1 或下拉菜单 2,即选择“选择一个”,则第三个输入文本框应减去 2,使其变为 3。

正如您在我的示例中看到的,只有一个下拉列表添加到该字段。可以是其中之一,但不能同时是两者。我希望当选择默认的“选择一个”时,两者都能够添加和删除。

最佳答案

$('#otherField').val(Number($('#numbers').val())+1);

更新

HTML

<p>
<select id="numbers" name="numbers" class="numbers">
      <option value="">pick one</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      </select>
</p>
<p>
<select id="morenumbers" name="morenumbers" class="numbers">
      <option value="">pick one</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      </select>
</p>

jQuery

$(".numbers").change(function() {
            //grab selected value and add it to the 3rd text field
            //so if 2 is selected, the field with 1 becomes 3 and the total sum becomes 12
            var first;
            var second;
            var initial = 1;
            if($('#morenumbers').val() == '')
                first = 0;
            else
                first = Number($('#morenumbers').val());
            if($('#numbers').val() == '')
                second = 0;
            else
                second = Number($('#numbers').val());
            $('#third').val(first+second+initial);
            $("input[name^=sum]").sum("keyup", "#totalSum");
        });

fiddle

http://jsfiddle.net/rEQnY/9/

关于javascript - 如何在输入文本字段中添加或增加数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19575816/

相关文章:

javascript - 我如何获得网站中最顶部定位图像的链接?

javascript - 需要 Mongodb 而不下载?

javascript - Tablesorter 过滤器函数扭曲表结果

html - ul li 链接不起作用(在导航栏中)

javascript - 为什么在循环中动态添加.onclick到img元素需要return function()?

javascript - ScrollView 不会在 android 上滚动

javascript - 如何从所有选定的下拉列表项中获取值(value)

javascript - 检测移动浏览器发出请求调用

javascript - 重置值或设置为默认选择的选项 jQuery

html - 如何在悬停时也有框阴影效果的表格行之间放置空间?