Html 如何在选项标记中使用多种颜色编写文本
我在表单中有一个下拉列表(选择标签)。它的内容是城市名称。但我也想在他们旁边展示他们的国家名称作为评论。可以用多种颜色在Html 如何在选项标记中使用多种颜色编写文本,html,css,html-select,textcolor,Html,Css,Html Select,Textcolor,我在表单中有一个下拉列表(选择标签)。它的内容是城市名称。但我也想在他们旁边展示他们的国家名称作为评论。可以用多种颜色在标签之间书写文本吗 示例代码: <select name="cities"> <option value="1">London (England)</option> <option value="2">Sidney (Australia)</option> <option value="3
标签之间书写文本吗
示例代码:
<select name="cities">
<option value="1">London (England)</option>
<option value="2">Sidney (Australia)</option>
<option value="3">Amsterdam (Netherlands)</option>
</select>
伦敦(英国)
西德尼(澳大利亚)
阿姆斯特丹(荷兰)
想象一下,我希望城市标题为黑色和(国家名称)为灰色就像@Bojangles评论的那样,将
div
或span
这样的标签放入选项中是无效的HTML
但是,您可以使用类似(参见showSubtext
示例)的方法来实现您的目标。我刚刚将一些代码打包在一个文件中,如果您愿意,可以进行拍摄。我认为这是一个很好的选择小部件,而不使用本机浏览器小部件
Html:
<div id="yourSelectID" class="select">
<div class="option-selection" data-value="none">none</div>
<div class="option-container">
<div class="option" data-value="1" style="color:red;">One</div>
<div class="option" data-value="2">Two</div>
<div class="option" data-value="Whatever" style="color:blue;">1337</div>
</div>
<div class="option-expand">+</div>
</div>
<button>Show Selection</button>
.select {
border:1px solid #444444;
height:20px;
display:inline-block;
border-radius:3px;
}
.option-container {
display:none;
position:absolute;
top:30px;
border:1px solid;
}
.option-expand {
float:left;
cursor:pointer;
padding:0 5px;
}
.option-selection {
min-height:1px;
float:left;
padding:0 5px;
}
.option {
padding:5px;
background:#FFF;
}
$('.option-selection').width($('.option-selection').next('.option-container').width()-10);
$('.option-expand').click(function(e){
e.preventDefault();
$(this).parent().children('.option-container').slideToggle();
});
$('.option').click(function(e){
e.preventDefault();
$this = $(this);
var value = $this.attr('data-value');
var name = $this.text();
$parent = $this.parent().parent().children('.option-selection');
$parent.html(name);
$parent.attr('data-value', value);
$optionContainer = $this.parent();
$optionContainer.slideToggle(); });
function getSelection(id){
$selection = $('#'+id).children('.option-selection');
var name = $selection.text();
var value = $selection.attr('data-value');
return {name: name, value: value}; };
$('button').click(function(e){
var result = getSelection('yourSelectID');
alert('Selection name: '+ result.name +' Selection value: ' + result.value); });
jQuery:
<div id="yourSelectID" class="select">
<div class="option-selection" data-value="none">none</div>
<div class="option-container">
<div class="option" data-value="1" style="color:red;">One</div>
<div class="option" data-value="2">Two</div>
<div class="option" data-value="Whatever" style="color:blue;">1337</div>
</div>
<div class="option-expand">+</div>
</div>
<button>Show Selection</button>
.select {
border:1px solid #444444;
height:20px;
display:inline-block;
border-radius:3px;
}
.option-container {
display:none;
position:absolute;
top:30px;
border:1px solid;
}
.option-expand {
float:left;
cursor:pointer;
padding:0 5px;
}
.option-selection {
min-height:1px;
float:left;
padding:0 5px;
}
.option {
padding:5px;
background:#FFF;
}
$('.option-selection').width($('.option-selection').next('.option-container').width()-10);
$('.option-expand').click(function(e){
e.preventDefault();
$(this).parent().children('.option-container').slideToggle();
});
$('.option').click(function(e){
e.preventDefault();
$this = $(this);
var value = $this.attr('data-value');
var name = $this.text();
$parent = $this.parent().parent().children('.option-selection');
$parent.html(name);
$parent.attr('data-value', value);
$optionContainer = $this.parent();
$optionContainer.slideToggle(); });
function getSelection(id){
$selection = $('#'+id).children('.option-selection');
var name = $selection.text();
var value = $selection.attr('data-value');
return {name: name, value: value}; };
$('button').click(function(e){
var result = getSelection('yourSelectID');
alert('Selection name: '+ result.name +' Selection value: ' + result.value); });
您不能,至少不能使用本机
。有jQuery插件和JavaScript模块可以做你想做的事情,however@Bojangles,谢谢你的回答。如果你正在寻找纯CSS解决方案,它目前只在IE上有效。您可以一次为一个选项标记上色,而不是使用不同颜色对其部分上色。回答您的问题时,您应该产生与使用div或其他内容的select
列表类似的行为。它的可能副本没有我想要的,但它是一个很好的链接,因为它有有趣的示例。。。谢谢。请在此页面上搜索“showSubtext”。这不正是你要找的吗?