У меня есть несколько флажков, которые добавляют класс «отфильтрованный» к LI с определенным атрибутом данных (который есть и в LI, и в флажке), когда снят флажок, чтобы скрыть непроверенные источники / категории.Я добавил кнопку галочки выше, и она работает, чтобы установить флажки для всех флажков, однако, это не влияет на элементы, которые были скрыты, когда я устанавливал / снимал флажки напрямую.Можно ли привязать отображение 1 деления к значению флажков в другом?
Например, при загрузке страницы проверьте, установлен ли флажок с той же категорией данных, а затем отобразите содержимое?возможно я должен сделать это с php?
кодом чекбокса для добавления / удаления отфильтрованного класса onclick:
$("#side_categories #sourcestoggle ul#side_categories_prog li .check_box input").click(function () {
var dealcat = $(this).data('dealcat'); //get the category from the clicked button
var deallistcount = $('#deals .deal:visible').size();
if (deallistcount < 0) {
$('#deals .noresults').show();
} else {
$('#deals .noresults').hide();
}
if ($('#' +dealcat+ ':checked').val() !==undefined) {
$('#deals .deal[data-dealcat*="' +dealcat+ '"]').removeClass('filtered');
$('#dealcount .counter #showingval').html(parseInt($('#deals .deal:visible').size()));
} else {
$('#deals .deal[data-dealcat*="' +dealcat+ '"]').addClass('filtered');
$('#dealcount .counter #showingval').html(parseInt($('#deals .deal:visible').size()));
var deallistcount = $('#deals .deal:visible').size();
if (deallistcount < 1) {
$('#deals .noresults').show();
} else {
$('#deals .noresults').hide();
}
}
});
мой код для проверки:
$('#side_categories #sourcestoggle .sources #sources_controls .sources_checkall').click(function(){
$('#side_categories #sourcestoggle ul#side_categories_prog li .check_box input:checkbox').attr('checked','checked');
});
Я понимаючто с помощью checkall / uncheckall самым простым способом было бы просто удалить все классы, отфильтрованные из #deals, и наоборот, но я пытаюсь выяснить, есть ли «более умный» способ сделать это.
html списков ul / li:
<ul id="deals">
<li data-date="26800" data-discount="50" data-value="400" data-price="200" id="9752" data-dealcat="Provider" data-category="Category" class="deal">
blah blah blah
</li>
</ul>
Categories / checkbox html:
<ul id='side_categories_prog'>
<li class='programname'>
<div class='check_box'>
<input type='checkbox' value='2' name='sources1' id='programname' checked='checked' data-dealcat='programname'>
</div>
<label for='progname'>programname</label>";
</li>
</ul>
Данные для флажков заполняются php и через jquery контролирует #deals .dealкоторые также динамически заполняются.