尝试将数组值与输入值匹配,但在jQuery中返回false

MrN*_*New 0 javascript jquery

我一直在尝试将数组的数字列表与数字input值匹配,但每次进入循环时,它似乎根本找不到匹配.所以场景是如果input2匹配任何值,input1那么它应该显示在中的警报if statements.

我错过了一些非常明显的东西吗?

var inputValues = ["1", "2", "3", "4", "5"]
var input1Val = $("#input1").val(inputValues);
      
function saveBtn() {
  var input2Val = $('#input2').val();
  var isMatched = false;
  for (var i = 0; i < inputValues.length; i++) {
    if(inputValues[i] === input2Val) {
      var isMatched = true;
    } else {
      isMatched = false;
    }
  }

  if(isMatched) {
    alert('is matched and should save');
  } else {
    alert('Is not matched! Error!');
  }
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="input1" id="input1" /> <br /> <br />
<input type="text" name="input2" id="input2" value="" placeholder="Enter any above shown above"/>
<button type="submit" onclick="saveBtn()">Save Value</button>
Run Code Online (Sandbox Code Playgroud)

小智 5

将其更改为:

if(inputValues[i] === input2Val) {
  isMatched = true; // Notice that "var" should not be added here
  break; // Not necessary, but will speed up your code
} else {
  //isMatched = false; // Remove this line
}
Run Code Online (Sandbox Code Playgroud)

  • 还请打破循环吗? (2认同)