我想這樣做我想投入變量多值
if ($(this).val() in (1,2,3)) {
...
}
我已經嘗試這樣做,它的工作原理,但它不是我想要的
if ($(this).val()==1 || $(this).val()==2 || $(this).val()==3) {
...
}
我想這樣做我想投入變量多值
if ($(this).val() in (1,2,3)) {
...
}
我已經嘗試這樣做,它的工作原理,但它不是我想要的
if ($(this).val()==1 || $(this).val()==2 || $(this).val()==3) {
...
}
使用數組和$.inArray():
if ($.inArray(parseInt($(this).val()), [1, 2, 3]) > -1) {
}
if ([1,2,3].indexOf($(this).val()) > -1) {
或
for (i in [1,2,3])
if (i==$(this).val()) {
...
}
我注意到OP是使用jQuery但這應該對誰不是工作
if([1,2,3].indexOf(yourValue) > -1) {
...
}
編輯,鳳甲,以20秒
試圖通過Blazemonger毆打合成目前分散在許多不同答案和評論中的信息...由於兩件事情,您的代碼無法正常工作:
in
檢查鍵,而不是在陣列值。因此,例如,3 in [1,2,3]
將是錯誤的,因爲[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
您可以緩存'$(本).VAL()'在一個局部變量,那麼你的條件表達式將是既高性能和可讀。 –