如何检查是否使用jQuery提供了相同的输入?

时间:2018-07-28 11:55:45

标签: javascript jquery

我大约有100个输入字段,其名称为xlsxwriter。我必须检查用户是否在表单输入中给出了任何重复的条目。 目前正在尝试类似的事情:

openpyxl

在此输入字段时出现问题,它也会自行检查

3 个答案:

答案 0 :(得分:3)

尝试使用this从选择器中删除not()元素,例如:

$('.questionOrder').not(this).each(function(){

工作代码示例:

$('.questionOrder').on('input', function(){
  var inp = this.value;
  $('.questionOrder').not(this).each(function(){
    if(inp==this.value){
      console.log('match');
    }else{
      console.log('not match');
    }
  })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="questionOrder" value="first"/>
<input type="text" class="questionOrder" value="second"/>
<input type="text" class="questionOrder" value="third"/>
<input type="text" class="questionOrder"/>

答案 1 :(得分:1)

您可以尝试使用兄弟姐妹功能-

$('.questionOrder').on('input', function(){
    var inp = this.value;
    $(this).siblings().each(function(){
        if(inp==this.value){
            console.log('match');
        }else{
            console.log('not match');
        }
    })
})

答案 2 :(得分:0)

具有事件委托的纯DOM中的替代答案(不带jQuery)

document.body.addEventListener('input', function(event) {
  var target = event.target;
  switch (true) {
    case target.matches('.questionOrder'):
      var questions = Array.from(document.querySelectorAll('.questionOrder'))
        .forEach(function(q) {
          if (q != target) {
            if (target.value == q.value) console.log('match');
            else console.log('not match');
          }
        })
      return false;
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="questionOrder" value="first" />
<input type="text" class="questionOrder" value="second" />
<input type="text" class="questionOrder" value="third" />
<input type="text" class="questionOrder" />