我有点卡住了。当输入字段更改时,我希望能够计算所有输入字段,然后基于所有输入字段的结果计算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>
答案 0 :(得分:2)
不要使用$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>
答案 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();
}
});
});
让事件在表单元素(输入)上起作用。