我想这样做
if ($(this).val() in (1,2,3) ) {
...
}
我试过这个并且它有效,但这不是我想要的
if ($(this).val()==1 || $(this).val()==2 || $(this).val()==3 ) {
...
}
答案 0 :(得分:3)
我注意到OP正在使用jQuery,但这适用于任何不是
的人if([1,2,3].indexOf(yourValue) > -1) {
...
}
编辑,Gah,被Blazemonger殴打20秒
答案 1 :(得分:1)
使用数组和$.inArray():
if ($.inArray(parseInt($(this).val()), [1, 2, 3]) > -1) {
}
答案 2 :(得分:1)
尝试合成当前分散在许多不同答案和评论中的信息......由于两件事情,您的代码无效:
in
来检查数组中的键,而不是值。因此,例如,3 in [1,2,3]
将为false,因为[1,2,3]
具有键(索引)0,1,2
。解决方案是确保您的值属于正确的类型,并使用正确的函数。有两个明显的选择:
indexOf - returns the index of the (first) element that matches
inArray - is available if you are using jQuery
示例代码:
var v = parseInt($(this).val()); // radix 10
var r = [1,2,3]; // the values to check against
if(r.indexOf(v) > -1) { // method 1
if($.inArray(v, r)) { // method 2
答案 3 :(得分:0)
if ([1,2,3].indexOf($(this).val()) > -1) {
或
for (i in [1,2,3])
if (i==$(this).val()) {
...
}