我如何格式化"如果val 1或4或6或10"

Spa*_*aly 3 javascript jquery if-statement

我有一些jquery检查表单选择的值,然后做一些事情.它按预期工作,如下:

$("#field_1_select_value").bind('change', function (e) { 
  if($("#field_1_select_value").val() == 1){

  // Do stuff

  } else {

  // Do something else

  }         
});
Run Code Online (Sandbox Code Playgroud)

我想检查select是否有其他值,因为如果你在select中选择了许多不同的选项,行为将是相同的,并且它们不一定是串联的,所以我不能说大于或小于X.我想指定你是否选择,例如,1,4,10或20 ......发生了什么事.我尝试使用逗号基于我在其他地方找到的另一个答案,如下所示:

if($("#field_1_select_value").val() == 1, 4, 10, 20){
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.该,充当多功能按照我的理解,并在文档中它是有道理的,但我没有找到太多关于它如何能够在工作if这样的声明场景.我已经看到了很多类似的问题,但没有真正指出用于if声明的用法val.

感谢您的意见和建议.

Ada*_*kis 12

数组有一个可以使用的indexOf属性.只需确保将值转换field_1_select_value为数字,而不是将返回的字符串.

最快的方法是使用一元运算+符.

if([1, 4, 10, 20].indexOf(+$("#field_1_select_value").val()) >= 0){
Run Code Online (Sandbox Code Playgroud)


sp0*_*00m 8

开关盒可满足您的需求:

switch (parseInt($("#field_1_select_value").val(), 10)) {
case 1:
case 4:
case 10:
case 20:
    // do stuff
    break;
default:
    // do something else
    break;
}
Run Code Online (Sandbox Code Playgroud)