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

时间:2018-09-18 02:03:20

标签: javascript jquery calculation

我有点卡住了。当输入字段更改时,我希望能够计算所有输入字段,然后基于所有输入字段的结果计算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

2 个答案:

答案 0 :(得分:2)

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

在使用文本输入时,最好使用keyupchange函数。

由于值是数字,请使用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>

答案 1 :(得分:1)

按如下所示更改代码:

$('#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();
  }
 });
});

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