带有多选下拉菜单的JavaScript过滤器元素
我已经做了一个多星期了,我仍然在刷新我的ES6 JavaScript 我将引导选择用于multi-Select下拉列表 以下是多选和搜索输入标记:带有多选下拉菜单的JavaScript过滤器元素,javascript,bootstrap-select,Javascript,Bootstrap Select,我已经做了一个多星期了,我仍然在刷新我的ES6 JavaScript 我将引导选择用于multi-Select下拉列表 以下是多选和搜索输入标记: <div class="col-lg-4"> <form> <div class="form-group"> <h5>Products & Services</h5> <select id="
<div class="col-lg-4">
<form>
<div class="form-group">
<h5>Products & Services</h5>
<select id="filter-select" class="form-control filter selectpicker" multiple>
{% for item in filters %}
<option data-filter="{{ item.data_filter }}">{{ item.title }}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<input type="text" class="form-control" id="search-filter" placeholder="Search...">
</div>
</form>
</div>
产品与服务
{筛选器%中的项的百分比}
{{item.title}
{%endfor%}
引导选择正在修改选择输入,并使用lis创建下拉列表:
<li>
<a role="option" class="dropdown-item" id="bs-select-1-6" tabindex="0" aria-selected="false" aria-setsize="10" aria-posinset="7">
<span class=" bs-ok-default check-mark"></span>
<span class="text">Information Technology</span>
</a>
</li>
{%endfor%}
到目前为止,我已经:
// Filtering
$('#filter-select').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
let dropdown = document.getElementById('filter-select');
let items = document.getElementById('posts');
let item = items.querySelectorAll('div.post');
for (let i = 0; i < item.length; i++) {
let filterItem = item[0];
console.log(filterItem);
if (filterItem.innerHTML.toUpperCase().indexOf(options) > -1) {
item[i].style.display = '';
} else {
item[i].style.display = 'none';
}
}
});
// Filter by searchable input field
let filterInput = document.getElementById('search-filter');
filterInput.addEventListener('keyup', filterPosts);
function filterPosts(){
let filterValue = document.getElementById('search-filter').value.toUpperCase();
let posts = document.getElementById('posts');
let post = posts.querySelectorAll('div.post');
for (let i = 0; i < post.length; i++) {
let filterItem = post[i].getElementsByTagName('h5')[0];
if (filterItem.innerHTML.toUpperCase().indexOf(filterValue) > -1) {
post[i].style.display = '';
} else {
post[i].style.display = 'none';
}
}
}
//过滤
$(“#筛选选择”).on('changed.bs.select',函数(e,clickedIndex,isSelected,previousValue){
let dropdown=document.getElementById('filter-select');
让items=document.getElementById('posts');
让item=items.querySelectorAll('div.post');
for(设i=0;i-1){
项[i]。style.display='';
}否则{
项[i].style.display='none';
}
}
});
//按可搜索输入字段筛选
让filterInput=document.getElementById('search-filter');
filterInput.addEventListener('keyup',filterPosts);
函数filterPosts(){
让filterValue=document.getElementById('search-filter').value.toUpperCase();
让posts=document.getElementById('posts');
让post=posts.queryselectoral('div.post');
for(设i=0;i-1){
post[i].style.display='';
}否则{
post[i].style.display='none';
}
}
}
如果有人能提供一些见解或代码示例,我会非常感谢
我目前正在学习ES6 JavaScript课程,我还在学习
我的问题是如何过滤在“多选”下拉列表中单击/选择的元素,并显示选定的元素
谢谢。您的问题是什么?我的问题是如何过滤在“多选”下拉列表中单击/选择的元素,并显示所选的元素。
// Filtering
$('#filter-select').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
let dropdown = document.getElementById('filter-select');
let items = document.getElementById('posts');
let item = items.querySelectorAll('div.post');
for (let i = 0; i < item.length; i++) {
let filterItem = item[0];
console.log(filterItem);
if (filterItem.innerHTML.toUpperCase().indexOf(options) > -1) {
item[i].style.display = '';
} else {
item[i].style.display = 'none';
}
}
});
// Filter by searchable input field
let filterInput = document.getElementById('search-filter');
filterInput.addEventListener('keyup', filterPosts);
function filterPosts(){
let filterValue = document.getElementById('search-filter').value.toUpperCase();
let posts = document.getElementById('posts');
let post = posts.querySelectorAll('div.post');
for (let i = 0; i < post.length; i++) {
let filterItem = post[i].getElementsByTagName('h5')[0];
if (filterItem.innerHTML.toUpperCase().indexOf(filterValue) > -1) {
post[i].style.display = '';
} else {
post[i].style.display = 'none';
}
}
}