嘿所有,我基本上需要在select中为每个<option>
添加一个类。根据每个选项的value
,可以应用不同的类。
我需要一种简单的方法来做类似
的事情$('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 =
和class name
。
非常感谢
添
答案 0 :(得分:8)
当然,使用关联数组:
var mapping = { "Argentina": "ar", "Brazil": "br", "Czech": "cz"};
$('select option').each(function(){
var sClass = mapping[$(this).val()];
if (sClass)
$(this).addClass(sClass);
});
当您忘记将国家/地区放入数组时,if (sClass)
可以避免崩溃。在这种情况下,您可以添加一些默认类。
答案 1 :(得分:2)
如果该示例中的模式(该类只是小写中的前两个字符),则只是一个额外的意见。
$('select option').each(function(){
$(this).addClass( this.value.substr(0,2).toLowerCase() );
});