Javascript jquery中的数组和循环
大家好,我基本上需要在select中的每个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 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票即可:-)