Прямо сейчас у меня есть раскрывающееся меню, связанное с id div, но я хотел бы, чтобы он ссылался на div-класс, чтобы можно было показать определенный div в нескольких selections-- перекрывающихся категориях. Я не знаком с этим, поэтому я был бы признателен, если бы кто-то мог помочь!
Вот что я имею до сих пор:
<style>
.odd{
background-color: #ccc;
padding: 15px;
}
.even{
background-color: #eee;
padding: 15px;
}
</style>
<script type="text/javascript">
$(function() {
$("select").change(function() {
var id = $("option:selected", this).val();
$("div[id]").each(function() {
$(this).toggle($(this).attr("id") == id);
});
$('.wrapper div:visible:even').css({
'background-color': '#eee'
});
$('.wrapper div:visible:odd').css({
'background-color': '#ccc'
});
});
});
</script>
другая часть:
<select>
<option value="">Choose one:</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
</select>
<div class="wrapper">
<div id="option1" class="odd">content1</div>
<div id="option2" class="even">content2</div>
<div id="option3" class="odd">content3</div>
например, я хочу, чтобы content3 отображался как для параметра option1, так и для опции2.
Один из способов - использовать hasClass()
чтобы указать, какие DIV соответствуют этому параметру.
JS:
$(function() {
$("select").change(function() {
var id = $(this).val();
$("div[id]").each(function() {
$(this).toggle($(this).hasClass(id));
});
$('.wrapper div:visible:even').css({
'background-color': '#eee'
});
$('.wrapper div:visible:odd').css({
'background-color': '#ccc'
});
});
});
HTML:
<div class="wrapper">
<div id="option1" class="odd option1">content1</div>
<div id="option2" class="even option2">content2</div>
<div id="option3" class="odd option1 option2">content3</div>
</div>
change
первого скрывать и показывать соответствующие, аналогично тому, как он скрывает и показывает DIV.