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/