我正在使用这个jquery插件让我的选择下拉框看起来更好。 http://code.google.com/p/select-box/
这是一个工作的小提琴: http://jsfiddle.net/FQKax/1/
我希望将两个下拉列表设置为不同的宽度,但我尝试将它们包装在div中,试图破解js给它们不同的ID,我能想到的一切却没有快乐。
另外,我很惭愧地承认我似乎无法改变实际下拉位中文本的颜色。我可以改变背景颜色等,但如果我可以改变文字的颜色就会出错......很奇怪
答案 0 :(得分:3)
有一个选项可以指定要用作sbHolder
对象的类名,但是您不想更改它,因为您需要重写CSS。如果他们让你设置一个额外的课程来应用它会很好,但他们没有。
我只是在select元素周围放一个包装器并使用CSS覆盖默认宽度http://jsfiddle.net/FQKax/8/
.wrapper-one .sbHolder{
width: 500px;
}
.wrapper-two .sbHolder {
width: 200px;
}
<div class="wrapper-one">
<select id="language">
<option value="javascript">Javascript</option>
<option value="objective-c">Objective C</option>
<option value="python">Python</option>
</select>
</div>
<br/><br/>
<div class="wrapper-two">
<select id="language2">
<option value="javascript">Javascript</option>
<option value="objective-c">Objective C</option>
<option value="python">Python</option>
</select>
</div>
这需要添加一些标记,@ cih的答案没有。它只需要使用jQuery相应地标记每个实例http://jsfiddle.net/FQKax/37/
$("#language").selectbox();
$("#language2").selectbox();
$(".sbHolder").each(function(index){
$(this).addClass('instance-' + index);
});
.instance-0.sbHolder{
width: 500px;
}
.instance-1.sbHolder {
width: 200px;
}
答案 1 :(得分:1)
$(".sbHolder").first().addClass("first");
这将添加一个您可以首先选中的课程复选框,有更好的方法来迭代多个选择器,查看this link..
除此之外,乔回答了你的其余问题。
答案 2 :(得分:1)
试试这个 http://jsfiddle.net/FQKax/30/
<link href="http://select-box.googlecode.com/svn/tags/0.2/jquery.selectbox.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://select-box.googlecode.com/svn/tags/0.2/jquery.selectbox-0.2.min.js"></script>
<select id="language">
<option value="javascript">Javascript</option>
<option value="objective-c">Objective C</option>
<option value="python">Python</option>
</select>
<br/><br/>
<select id="language2">
<option value="javascript">Javascript</option>
<option value="objective-c">Objective C</option>
<option value="python">Python</option>
</select>
##### JQUERY #######
$(function () {
$("#language").selectbox();
$("#language2").selectbox();
$(".sbHolder").each(function(){
var $langDom = $(this);
if($langDom.prev().attr('id') == 'language'){
$langDom.addClass("language_1");
} else if($langDom.prev().attr('id') == 'language2') {
$langDom.addClass("language_2");
}
});
});
###### CSSS TO ADD #####
.language_1{
width: 1200px;
}
.language_2{
width: 200px;
}
答案 3 :(得分:0)
对于文字颜色,请更改.sbOptions a:link, .sbOptions a:visited {}
和/或.sbOptions a:hover, .sbOptions a:focus, .sbOptions a.sbFocus {}
。
对于宽度,.sbOptions
是您的下拉宽度,.sbHolder {}
是“当前选中”项目的宽度。