检测输入内容的变化(jQuery)

4

有多个输入,希望检测输入的变化并给出结果。目前它只能静态地工作,我希望它可以动态地检测输入中数字的变化。

对于一个输入,我可以实现这一点,但如果有多个输入怎么办?

var allHaveSameValue = $(".inputclass").toArray().every(function(input, index, inputs) {
  return input.value === inputs[0].value;
});

console.log(allHaveSameValue);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>


你不能只是在所有输入上使用“change”事件监听器吗? - Barmar
1个回答

2
您可以监听输入事件以运行检查。

let $inputClass = $('.inputclass');
$inputClass.on('input', function(e){
  let val = $(this).val();
  let allHaveSameValue = $inputClass.toArray().every(input => input.value === val);
  console.log(allHaveSameValue);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>
<input type="text" class="inputclass" value="1"/>


非常感谢您的帮助,但很抱歉,我之前提出的问题有误。每个输入ID值都将不同。您能否再帮忙一下? - user12799634
@Emre6,ID是无关紧要的。我的解决方案基于它们的类选择输入。 - Unmitigated

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接