如何检查输入名称是否在Jquery中的数组中?

时间:2018-06-18 09:44:51

标签: javascript jquery html loops

我想知道如何检查输入名称是否等于数组中的名称。 我有多个输入,如下面的代码:

<div class="inputMain">
    <input name="first_name" value="">
</div>
<div class="inputMain">
    <input name="last_name" value="">
</div>
<div class="inputMain">
    <input name="email" value="">
</div>

我有一个像这样的阵列:

var array = ['last_name', 'email'];

我想在div中添加类,将输入的名字包装在数组中。 我不想使用2个循环。

3 个答案:

答案 0 :(得分:0)

  

检查浏览器控制台中的输出:

$(document).ready(function() {
  var array = ['last_name', 'email', 'dsfdsfds'];
  array.forEach(function(element) {
    var x = document.getElementsByName(element);
    console.log(x);
  });
});

//check output in browser console
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<div class="inputMain">
  <input name="first_name" value="">
</div>
<div class="inputMain">
  <input name="last_name" value="">
</div>
<div class="inputMain">
  <input name="email" value="">
</div>

答案 1 :(得分:0)

您可以使用以下代码:

var inputs = $("input");
var array = ['last_name', 'email'];
  inputs.each(function(){
    if(array.indexOf($(this).attr("name")) >= 0){
      alert($(this).attr("name")+" exists");
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="inputMain">
    <input name="first_name" value="">
</div>
<div class="inputMain">
    <input name="last_name" value="">
</div>
<div class="inputMain">
    <input name="email" value="">
</div>

代码中的HTML与您在问题中使用的相同,我添加了一些JQuery,这很容易理解。

我希望它有所帮助。

答案 2 :(得分:0)

有你的解决方案:)

$(document).ready(function() {
      var array = ['last_name', 'email'];
      var inputs = $("div[class='inputMain']").find("input");

      array.forEach(function(name) {
        inputs.each(function (x){
          if (inputs[x].name === name) {
            inputs[x].parentNode.classList.add("myClass")
          }
        });
      });

      console.log(inputs.prevObject);

    });

https://jsfiddle.net/12es37ko/62/

您可以在浏览器控制台中查看结果:)