У меня есть два раскрывающихся списка, которые фильтруют контент. Первый - это места, а второй - задания. Первый список фильтрует второй. Я использую a: contains для чтения строковых значений, которые позволяют моему фильтру работать. Я сталкиваюсь с проблемой, когда я хочу использовать два файла одновременно, в качестве фильтра. Вот код:jQuery Выпадающий список Содержит фильтр
HTML
<div class="holder">
<label for="volunteerLocation">Where do you want to volunteer?</label><br>
<select id="locations">
<option value="0">--Select a Campus--</option>
<option value="5">Location 1</option>
<option value="6">Location 2</option>
<option value="7">Location 3</option>
</select>
</div>
<br />
<div class="holder">
<label for="volunteerJobs">In which area would you like to serve?</label><br />
<select id="jobs">
<option value="1">Job 1 (Location 1)</option>
<option value="2">Job 2 (Location 2)</option>
<option value="3">Job 3 (Location 3)</option>
<option value="4">Job 4 (All locations)</option>
</select>
</div>
Javascript
var select = $('#jobs');
var options = [];
$(select).find('option').each(function() {
options.push({ value: $(this).val(), text: $(this).text() });
});
$(select).data('options', options);
$('#locations').change(function() {
filterText = $("#locations option:selected").text();
var optionList = $(select).empty().data('options');
var j = 0;
$.each(optionList, function (i) {
var option = options[i];
if (option.text.indexOf(filterText) !== -1) {
if (j == 0) {
$('#jobs').prepend("<option value=''>--Select a Job--</option>").val('');
j++;
};
$(select).append(
$('<option>').text(option.text).val(option.value)
);
}
if (filterText == "--Select a Campus--") {
$(select).append(
$('<option>').text(option.text).val(option.value)
);
}
})
})
Вот является JSLint этого, так что вы можете увидеть его в действии Full Example
Я пытаясь получить «Job 4», чтобы показать все, кроме опции «Выбрать кампус». Как мне это сделать?
Почему не вы просто используете [] вместо нового массива? –
@Oliver yeah right 'Array' может быть перезаписано, так что ур указывает? – mikakun