У меня возникли проблемы с работой двух категорий фильтров для совместной работы. Желаемый результат - только для отображения divs, когда выбран месяц из выпадающего списка и когда флажки области отмечены.Сценарий для фильтрации/отображения двух отдельных типов категорий
Гигантский плюс будет для счетчика, отображающего количество отображаемых divs vs total divs.
вот код, который есть у меня сейчас.
<select name="month-select" id="month-select">
<option id="select">Select a Month</option>
<option value="jan" id="jan" name="jan">January</option>
<option value="feb" id="feb" name="feb">February</option>
<option value="mar" id="mar" name="mar">March</option>
<option value="apr" id="apr" name="apr">April</option>
<option value="may" id="may" name="may">May</option>
<option value="jun" id="jun" name="jun">June</option>
<option value="jul" id="jul" name="jul">July</option>
<option value="aug" id="aug" name="aug">August</option>
<option value="sep" id="sep" name="sep">September</option>
<option value="oct" id="oct" name="oct">October</option>
<option value="nov" id="nov" name="nov">November</option>
<option value="dec" id="dec" name="dec">December</option>
</select>
<input type="checkbox" value="red" id="red" onclick="Color.filterByColor(this);" checked="checked" class="checkbox checkboxColor"><label for="ck-loc-us">red</label>
<input type="checkbox" value="green" id="green" onclick="Color.filterByColor(this);" checked="checked" class="checkbox checkboxColor"><label for="ck-loc-us">green</label>
<input type="checkbox" value="blue" id="blue"onclick="Color.filterByColor(this);" checked="checked" class="checkbox checkboxColor"><label for="ck-loc-us">blue</label>
<input type="checkbox" value="selectall" id="selectall"onclick="Color.filterByColorSelectAll();" checked="checked" class="checkbox checkboxColor"><label for="ck-loc-us">select all colors</label>
<div id="fulllist">
<div class="rResult red jan mar apr may">
<h3>Spring and January</h3>
<ul>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
</ul>
<a href="#">CTA</a>
</div>
<div class="rResult blue apr may dec">
<h3>April May December</h3>
<ul>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
</ul>
<a href="#">CTA</a>
</div>
<div class="rResult green jul">
<h3>July Only</h3>
<ul>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
</ul>
<a href="#">CTA</a>
</div>
<div id="filtersContainerUpdatingMessage">
<p>Updating...</p>
</div>
<div class="divsShowing">
Showing
<span class="textForALL">ALL (</span>
<span class="divsShowing"> </span> of <span class="divsTotal"> </span>
<span class="textForALL">) </span>
Divs
</div>
<div class="divsShowingAreZero">
<p>Please select a color and/or different month.</p>
</div>
</div>
<script>
$('#month-select').change(function(){
$('.rResult').each(function(){
if ($(this).hasClass($('#month-select').val())) {
$(this).show();
} else {
$(this).hide();
}
});
});
</script>
Для лучшего понимания, пожалуйста, предоставить ** рабочий демонстрационный ** (* код сниппета, jsfiddle ... *) –
извините, это правый jsfiddle http://jsfiddle.net/dexf6ekL/ \t вот jsfiddle. http://jsfiddle.net/dexf6ekL/ у каждого div будет только один класс цвета, назначенный ему, но, возможно, несколько месяцев. Но нужно только, чтобы divs отображались, когда выбран снижающийся месяц с выбранным сочетанием цветов (ов). – Mike
это дает вам хорошее начало, http://jsfiddle.net/kishoresahas/2kGzZ/164 Надеюсь, что очень легко написать оставшуюся логику. –