JS检查Jquery inArray

时间:2015-11-17 16:07:31

标签: javascript jquery arrays

我想在select元素上使用onchange状态来检查select的值是否在数组中。

我试过了:

function statutEmployeur(){
   statliste = [];
   statliste.push(1);
   statliste.push(2);
   statliste.push(5);
   statid = jQuery("#statut").val();
   if(jQuery.inArray(statid,statliste)>-1){
      alert('inside array');
   }else {
      alert('outside array');
   }
}

我尝试的每个值都在数组之外。 有人可以帮帮我吗?

由于

1 个答案:

答案 0 :(得分:1)

正如Stryner在评论中指出的那样,尝试运行.val()parseInt()以确保您输入数值(而不是字符串)

   statid = jQuery("#statut").val();

为:

   statid = parseInt(jQuery("#statut").val(), 10);

工作小提琴:http://jsbin.com/maqesupuka/edit?html,js,console,output

问题是你在数组中搜索一种字符串(默认输入类型),但你的数组只包含数字。您可以将数组设置为数字,也可以执行类似上面的类型转换,以确保您使用相同的类型。