Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery中的数组和循环_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript jquery中的数组和循环

Javascript jquery中的数组和循环,javascript,jquery,arrays,Javascript,Jquery,Arrays,大家好,我基本上需要在select中的每个中添加一个类。根据每个选项的值,可以应用不同的类别 我需要一个简单的方法来做这样的事情 $('select option').each(function(){ if($(this).val()=="Argentina"){ $(this).addClass("ar"); } if($(this).val()=="Brazil"){ $(this).addClass("br"); } if($(this)

大家好,我基本上需要在select中的每个
中添加一个类。根据每个选项的
,可以应用不同的类别

我需要一个简单的方法来做这样的事情

$('select option').each(function(){

       if($(this).val()=="Argentina"){  $(this).addClass("ar");  }
       if($(this).val()=="Brazil"){  $(this).addClass("br");  }
       if($(this).val()=="Czech"){  $(this).addClass("cz");  }

});
我有一个很长的国家列表,因此最好使用某种数组,然后让函数在
if value=
类名中过滤

非常感谢


Tim

当然,请使用关联数组:

var mapping = { "Argentina": "ar", "Brazil": "br", "Czech": "cz"};
$('select option').each(function(){
   var sClass = mapping[$(this).val()];
   if (sClass)
      $(this).addClass(sClass);
});

if(sClass)
只是故障保护,以避免在忘记将国家/地区放入阵列时崩溃。在这种情况下,您可以添加一些默认类。

如果示例中的模式(该类仅为小写的前两个字符)是规则,则只需添加一个额外的意见

$('select option').each(function(){
  $(this).addClass( this.value.substr(0,2).toLowerCase() );
});

+一个好主意,但是(许多例子中的一个)爱尔兰和伊拉克呢编辑:即使有3个字母
India
Indonesia
@shadow,是的,我知道它在所有国家的官方缩写中都不太适用。。我只是把它贴出来,以防他使用一个固定的列表,模式适合每一个案例。当然@Gaby我很清楚-如果真是这样,我相信你的方式更好。蒂姆:是的,谢谢你,我在这个案例中使用了A2 ISO国家代码,所以不幸的是,它不会像那样工作。尽管如此,还是要感谢:)谢谢蒂姆和@Raja!希望这将成为我的第一次;)在我看来,这确实是一个非常棒的答案,只需要再投3票即可:-)