大家好,我试图根据其具有的类在页面上隐藏一个div,我也有一个select元素,其中包含选项。
因此,只要您知道我有一个列出数据库结果的模板,然后使用while循环循环每一行,数据库中就有一列,其中包含每一行的所有“ Make”。
这是该代码的示例:
<?php while($row = $results->fetch(PDO::FETCH_ASSOC))
{
echo '
<div class="listing-container ' . $row["Make"] . '">
<a href="carpage.php"><h3 class="model-listing-title clearfix">'.$row["Make"].' '.$row["Model"].' '.$row["Variant"].'</h3></a>
<h3 class="price-listing">£'.number_format($row['Price']).'</h3>
</div>
<div class="listing-container-spec">
<img src="'.(explode(',', $row["PictureRefs"])[0]).'" class="stock-img-finder"/>
<div class="ul-listing-container">
<ul class="overwrite-btstrp-ul">
<li class="diesel-svg list-svg">'.$row["FuelType"].'</li>
<li class="saloon-svg list-svg">'.$row["Bodytype"].'</li>
<li class="gear-svg list-svg">'.$row["Transmission"].'</li>
<li class="color-svg list-svg">'.$row["Colour"].'</li>
</ul>
</div>
<ul class="overwrite-btstrp-ul other-specs-ul h4-style">
<li>Mileage: '.number_format($row["Mileage"]).'</li>
<li>Engine size: '.$row["EngineSize"].'cc</li>
</ul>
<button href="#" class="btn h4-style checked-btn hover-listing-btn"><span class="glyphicon glyphicon-ok"></span> History checked
</button>
<button href="#" class="btn h4-style more-details-btn hover-listing-btn tst-mre-btn"><span class="glyphicon glyphicon-list"></span> More details
</button>
<button href="#" class="btn h4-style test-drive-btn hover-listing-btn tst-mre-btn"><span class="test-drive-glyph"></span> Test drive
</button>
<h4 class="h4-style listing-photos-count"><span class="glyphicon glyphicon-camera"></span> 5 More photos</h4>
</div>
';
} ?>
注意这个div“”,它在类中包括SQL行的名称。
这是我的select元素的示例:
<select class="form-control select-box">
<option value="make-any">Make (Any)</option>
<?php while($make = $filterres->fetch(PDO::FETCH_ASSOC))
{
echo '
<option value='.$make["Make"].'>'.$make["Make"].'</option>
';
} ?>
</select>
所有的“制作”都是循环的,并且不显示重复项。
目前,我正在使用此jQuery隐藏所有称为“ AUDI”的类。
var myContainers = $("div[class^='listing-container ']").not(".listing-container.AUDI");
myContainers.hide();
myContainers.next(".listing-container-spec").hide();
现在,我希望select元素确定显示的是“ Make's”,例如,如果用户选择BMW,则我只想要具有BMW类的列表容器div。
有人可以给我看一个例子,说明如何解决这个问题并向我解释吗?我仍然对JS感到很不舒服。
最佳答案
$(document).ready(function(){
$('.form-control').change(function(){
var make = $(this).val();
if(make != 'make-any'){
$('.makes').hide();
$('.'+make).show();
} else {
$('.makes').show();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control select-box">
<option value="make-any">Make (Any)</option>
<option value='BMW' selected>BMW</option>
<option value='AUDI'>AUDI</option>
</select>
<div class="BMW makes">BWM Stuff</div>
<div class="AUDI makes" style="display: none;">AUDI Stuff</div>
关于javascript - 使用jQuery和select元素隐藏动态类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26004167/