jquery if值列表中的变量

jquery if variable in a list of values

我有一些jquery检查下拉列表中所做的选择。

1
2
3
4
5
6
function toggleFields() {
if ($("#chosenmove1").val() == 4)
    $("#hideme").show();
else
    $("#hideme").hide();
}

这很好,但我想更改它,以便它检查一个值列表,如

1
if ($("#chosenmove1").val() in (3,4,5))

我怎么写这个才能使它起作用(上面没有)

再试了一点

1
2
3
4
5
6
7
8
9
10
var arr = [3,4,5];
var value = $("#chosenmove1").val();
alert(value);

if ($.inArray(value, arr) > -1)
    $("#hideme").show();
else
    $("#hideme").hide();

}

警告框告诉我var值正在从下拉列表中获取正确的值-但是显示隐藏在该设置下不起作用。如果我将var值=$("chosenmove1").val();替换为var值=3;那么它起作用了?


下面是我的工作代码:数组编号需要用引号括起来?

1
2
3
4
5
6
7
8
9
10
function toggleFields() {
var arr = ['3','4','5'];
var value = $("#chosenmove1").val();

if (jQuery.inArray(value, arr) > -1)
    $("#hideme").show();
else
    $("#hideme").hide();

}


可以使用indexof

1
2
3
4
5
var arr=[1,2,3];

if(!arr.indexOf(1)){ // Your value here
    alert("exists");
}

https://jsfiddle.net/xkcd8vko/1/