3 个输入字段值与 if 语句一起添加

3 input fields value added together with if statement

我有点卡住了。当输入字段发生更改时,我希望能够计算所有输入字段,然后是基于所有输入字段结果的 If 语句。在这一点上任何建议都会很方便

$('#form').on('change', function() { 
var a = $('#field1').val();
var b = $('#field2').val();
var c = $('#field3').val();
var $r = a + b + c;
if ( $r.value == '3')
  {
    $(".text").show();
  }
  else
  {
    $(".text").hide();
  }
 });
});

关于 HTML.. 我正在为预建表格编写此文件。但重点是。

<div id="form">
<input type="text" id="field1" value="0">
<input type="text" id="field2" value="0">
<input type="text" id="field3" value="0">
</div>
<div class="text">if all fields value = over 3, show this text</div>

更新: https://codepen.io/anon/pen/NLOEyP#anon-login

更改您的代码如下:

$('#form').on('change', 'input[type=text]', function() { 
var a = $('#field1').val();
var b = $('#field2').val();
var c = $('#field3').val();
var $r = a + b + c;
if ( $r.value == '3')
  {
    $(".text").show();
  }
  else
  {
    $(".text").hide();
  }
 });
});

让事件对表单元素(输入)起作用。

不要使用 $r.value。它应该只是 $r .

当您使用文本输入时,最好使用 keyup 而不是 change 功能。

由于值是数字,因此使用 parseInt 将其从字符串转换为整数值。

$('#form').on('keyup', 'input[type=text]', function() {
var a = parseInt($('#field1').val());
var b = parseInt($('#field2').val());
var c = parseInt($('#field3').val());
var $r = a + b + c;
if ( $r == 3)
  {
    $(".text").show();
  }
  else
  {
    $(".text").hide();
  }
 });
.text{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="form">
<input type="text" id="field1" value="0">
<input type="text" id="field2" value="0">
<input type="text" id="field3" value="0">
</div>
<div class="text">if all fields value = over 3, show this text</div>