Я создаю простую функцию фильтра на своем веб-сайте.Скрыть элемент div, если атрибут не соответствует фильтру
После того как пользователь выбирает место из .start-address
и .end-address
выпадающего списка, а затем нажимает #go-button
, как бы я только показать DIV, который содержит <span class="waypoint"></span>
, в котором пользовательский атрибуте waypoint
матчей либо, что находится в .start-address
и .end-address
.
Обратите внимание, что я хочу скрыть все waypoint-detail
, если совпадение не найдено в путевых точках внутри него, а не только одной путевой точки.
Я высмеял быстрый jsFiddle, чтобы показать это: http://jsfiddle.net/tLhdndgx/3/.
HTML
<div class="row">
<div class="col-md-4">Start:
<br>
<select class="form-control start-address">
<option value="Lab">Lab</option>
<option value="Hall">Hall</option>
<option value="Apartments">Apartments</option>
<option value="Church">Church</option>
<option value="Park">Park</option>
<option value="College">College</option>
</select>
</div>
<br>
<div class="col-md-4">Destination:
<br>
<select class="form-control end-address">
<option value="Lab">Lab</option>
<option value="Hall">Hall</option>
<option value="Apartments">Apartments</option>
<option value="Church">Church</option>
<option value="Park">Park</option>
<option value="College">College</option>
</select>
</div>
<br>
<div class="col-md-4">
<button type="button" class="btn btn-success" id="go-button">Go</button>
</div>
</div>
<br>
<div class="panel panel-default waypoint-detail" style="display: block;">
<div class="panel-body">
<strong>Waypoint Set 1</strong>
<br>
<br>
<center>
<span style="color:#449D44">Start</span>
<br>↓<br>
</center>
<center>
<span class="waypoint" waypoint="Hall">Hall</span>
<br>↓<br>
</center>
<center>
<span class="waypoint" waypoint="Apartments">Apartments</span>
<br>↓<br>
</center>
<center>
<span class="waypoint" waypoint="Church">Church</span>
<br>↓<br>
</center>
<center><span style="color:#c12e2a">Stop</span></center>
</div>
</div>
<div class="panel panel-default rideshare-detail" style="display: block;">
<div class="panel-body">
<strong>Waypoint Set 2</strong>
<br>
<br>
<center>
<span style="color:#449D44">Start</span>
<br>↓<br>
</center>
<center>
<span class="waypoint" waypoint="Hall">Park</span>
<br>↓<br>
</center>
<center>
<span class="waypoint" waypoint="College">College</span>
<br>↓<br>
</center>
<center><span style="color:#c12e2a">Stop</span></center>
</div>
</div>
JavaScript
$('body').on('click', '#go-button', function (event) {
// Collect values
var startAddress = $('.start-address').val();
var destinationAddress = $('.destination-address').val();
});
Что делать, если пользователь вносит изменения, нужно отображать, если они совпадают? – charlietfl
Извините, я думаю, что есть некоторая путаница. Я хочу скрыть всю '.waypoint-detail', если совпадение не найдено среди путевых точек. Не одна путевая точка. – methuselah
@charlietfl, хороший пункт. Я добавил '$ ('. Waypoint'). Show()' перед тем, как перебирать путевые точки как способ «сбросить» скрытые –