Предположим, у меня есть флажки x, y, z и <div>
с соответствующими атрибутами id
.
У меня есть продукты в группах по x, y, z, а группы имеют классы. Но класс clearfix
предназначен для всех продуктов в разных местах (потому что я перебираю продукты), поэтому я должен распознать разницу с id и другими вещами.
Если флажок установлен, он должен показать связанный div (если x
, показать <div id='x'>
). Если нет, это не должно их показывать. Если x и y отмечены, покажите x, y и скройте z.
Поэтому он должен работать с несколькими. Вот мои div и стили clearfix, которые вызвали проблему:
.clearfix:after { clear: both; } .clearfix { zoom: 1; display: block; } .clearfix:after{ display: block; content: "."; clear: both; font-size: 0; line-height: 0; height: 0; overflow:hidden; }
того, как.clearfix:after { clear: both; } .clearfix { zoom: 1; display: block; } .clearfix:after{ display: block; content: "."; clear: both; font-size: 0; line-height: 0; height: 0; overflow:hidden; }
<div class="reltitles" id="<?php echo $array[$key][0]; ?>" style="<?php if($array[$key][1]==0){?> display:none;<?php }else {?>display:block;<?php }?>"> <font class="resultHeader"> (<?php echo $array[$key][1];?>) <?php echo $array[$key][0]; ?> </font> </div> <div class="clearfix" value="<?php echo $array[$key][0];?>" name="<?php echo $array[$key][0];?>" id="<?php echo $array[$key][0];?>"> <?php //code for showing items
Ниже приведены сценарии, которые не смогли скрыть четкое исправление:
$(document).ready(function(){ $('input[type="checkbox"]').click(function () { var variable = $(this); $(".clearfix").each(function () { if( $(this).attr("value") != variable.val() ) { var id = $(this).attr("value"); var x = document.getElementById(id); if ( x.style.display == "block" ) { x.style.display = "none"; } else { x.style.display = "block"; } $(this).hide(); } }); }); });
В первый раз он должен отображать все элементы, а затем, если пользователь связывается для фильтрации, они начинают операцию.