基于不同数组中项的返回值 - jQuery

问题描述 投票:0回答:1

我如何确定jQuery中的项目是什么?这是我目前拥有的代码:

var zips = ['30068', '90120','30033'];
var bad = ['314', '13567','1'];
$(function(){
  $('input[name=zip]').keyup(function(){
    var currentVal = $(this).val(); 
    if(!$.inArray(currentVal, zips)==-1){
     alert("if")
    } else if(!$.inArray(currentVal, bad)==-1){
     alert("else if")
    } else {
     alert("else")
      }
    });
});

我想要发生的是,当用户输入他们的邮政编码时,它决定给出什么样的回应。例如,如果他们输入30033,那么它将返回if。如果用户键入1,那么它将返回else,如果用户输入其他任何内容,那么它将返回else。我该怎么做?

jquery arrays if-statement
1个回答
1
投票

使用!$.inArray(currentVal, zips)==-1如果值不在数组中..所以你可以使用$.inArray(currentVal, zips)> -1代替

对我来说,我认为.blur()在这种情况下会更好..所以当你专注于输入时,你会得到警报..请参阅下一个例子>>

var zips = ['30068', '90120','30033'];
var bad = ['314', '13567','1'];
$(function(){
  $('input[name=zip]').on( 'blur' , function(){
    var currentVal = $(this).val(); 
    if($.inArray(currentVal, zips)> -1){
     alert("if")
    } else if($.inArray(currentVal, bad)> -1){
     alert("else if")
    } else {
     alert("else")
      }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="zip" />
© www.soinside.com 2019 - 2024. All rights reserved.