有没有办法使选项组可选?
<select>
<optgroup value="0" label="Parent Tag">
<option value="1">Child Tag</option>
<option value="2">Child Tag</option>
</optgroup>
</select>
我不认为您可以,但是您可以轻松地使用css重现视觉样式,因此只有选择项,因此所有内容都是可以选择的。
.optionGroup { font-weight: bold; font-style: italic; } .optionChild { padding-left: 15px; }
<select multiple="multiple"> <option value="0" class="optionGroup">Parent Tag</option> <option value="1" class="optionChild">Child Tag</option> <option value="2" class="optionChild">Child Tag</option> </select>
multiple属性可让您选择多个行(按住ctrl键单击)。如果不是您想要的,可以将其删除。这是为了向您显示所有内容都变为可选择状态,并且看上去与optiongroup元素相同。
这对于纯html是不可能的。一些浏览器(mozilla)允许您使用CSS实现类似的功能,但是在撰写本文时,大多数浏览器(webkit等)不支持html select元素的样式。
直到在html标准中支持,否则给出的所有答案都是有问题的,包括:
有点不同的解决方案..
@ grifos的答案在WebKit浏览器中不受支持,并且在IE 11中进行测试时不起作用。
这将使您有一个带有可选optgroups的下拉列表的感觉。留下的内容很简单,但您可以根据自己的喜好进行样式设置。
.hide {
display:none;
}
.show {
display:block;
}
.selected.button {
display:block;
font-weight: bold;
}
button {
text-align: left;
min-width: 200px;
margin-left: 10px;
border: 0px;
background: #eee;
display: block;
}
#value_display {
width: 210px;
border: 1px solid #ddd;
border-radius: 4px;
padding-left: 8px;
}
</style>
<html>
<body>
<!-- Div is a display and also trigger for displaying dropdown -->
<div id="value_display" onclick="showOptions(this.value)">
opt 0
</div>
<!-- setting height and doing overflow-y allows dropdown list with scrollbox -->
<div id="select_div" class="hide" style="height: 80px; overflow-y: scroll;">
<button class="selected button" onclick="select(this.id)" id="opt 0">opt 0</button>
<button onclick="select(this.id)" id="opt 0-1" style="padding-left: 15px">opt 0-1</button>
<button onclick="select(this.id)" id="opt 0-2" style="padding-left: 15px">opt 0-2</button>
<button onclick="select(this.id)" id="opt 0-3" style="padding-left: 15px">opt 0-3</button>
<button onclick="select(this.id)" id="opt 0-4" style="padding-left: 15px">opt 0-4</button>
<button class="" onclick="select(this.id)" id="opt 1">opt 1</button>
<button onclick="select(this.id)" id="opt 1-1" style="padding-left: 15px">opt 1-1</button>
<button onclick="select(this.id)" id="opt 1-2" style="padding-left: 15px">opt 1-2</button>
<button onclick="select(this.id)" id="opt 1-3" style="padding-left: 15px">opt 1-3</button>
<button onclick="select(this.id)" id="opt 1-4" style="padding-left: 15px">opt 1-4</button>
问题不是很清楚,但这是您要寻找的内容吗?
<select multiple="multiple">
<optgroup label="Parent Tag">
<option value="1">Child Tag</option>
<option value="2">Child Tag</option>
</optgroup>
</select>