首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery下拉过滤器

Jquery下拉过滤器
EN

Stack Overflow用户
提问于 2022-01-13 13:27:13
回答 1查看 36关注 0票数 1

当我按国家选择过滤器时,它不是work.Below --这是我的代码。我需要基于下拉选择过滤文章。我尝试了用下面的脚本我无法得到结果,请帮助解决这个filter.if任何其他一些可能的方法我也需要,java脚本方法也need.and也如果我点击所有国家意味着所有的数据应该是可见的。

代码语言:javascript
复制
<div class="searched-articles" style="border:1px solid #000;">
   <a href="#/testing-2/">
      <div class="col-md-2 col-sm-2 float-left author-date">
         <span class="date">03-01-2022</span>   
      </div>
      <div class="col-md-6 col-sm-6 float-left heading">
         <h4>Testing</h4>
         <span class="global" data-type="India">India</span>        
      </div>
   </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
   <a href="#/test3-2/">
      <div class="col-md-2 col-sm-2 float-left author-date">
         <span class="date">29-12-2021</span>   
      </div>
      <div class="col-md-6 col-sm-6 float-left heading">
         <h4>BlazeDream Test3</h4>
         <span class="global" data-type="India">India</span>        
      </div>
   </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
   <a href="#/2/">
      <div class="col-md-2 col-sm-2 float-left author-date">
         <span class="date">29-12-2021</span>   
      </div>
      <div class="col-md-6 col-sm-6 float-left heading">
         <h4>BlazeDreamTest2</h4>
         <span class="global" data-type="America">America</span>        
      </div>
   </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
   <a href="#/news2/">
      <div class="col-md-2 col-sm-2 float-left author-date">
         <span class="date">30-11-2021</span>   
      </div>
      <div class="col-md-6 col-sm-6 float-left heading">
         <h4>News2</h4>
         <span class="global" data-type="America">America</span>
      </div>
   </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
   <a href="#/test3/">
      <div class="col-md-2 col-sm-2 float-left author-date">
         <span class="date">27-11-2021</span>   
      </div>
      <div class="col-md-6 col-sm-6 float-left heading">
         <h4>test3</h4>
         <span class="global" data-type="India">India</span>        
      </div>
   </a>
</div><br>
<div>
  <select class="mdl-selectfield__select" id="countries" name="countries">
    <option value="All Countries">All Countries</option>    
    <option value="India">India</option>
    <option value="America">America</option>    
  </select>
</div>
代码语言:javascript
复制
$(document).ready(function(){
    $("#countries").change(function() {
    var filter = $("#countries").val().toLowerCase();
    var ctr = $(".searched-articles"); 
    var ctr1 = $(".searched-articles").text(); 
    var data = $(".heading span").attr('data-type').toLowerCase();
    
        ctr.each(function(i) {
             if( data == filter) {
                 ctr.show();
             } else{
                ctr.hide()
             }
        })
     });
     });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-13 13:41:19

代码中存在多个问题,1是数据不代表每个ctr中存在的跨度。

试试这个:

代码语言:javascript
复制
$(document).ready(function() {
  $("#countries").change(function() {
    var filter = $("#countries").val().toLowerCase();
    $(".searched-articles").hide();
    $(".searched-articles").filter(function() {
      return $(this).find(".global").attr("data-type").toLowerCase() == filter;
    }).show();
  });
});

Demo

代码语言:javascript
复制
$(document).ready(function() {
  $("#countries").change(function() {
    var filter = $("#countries").val().toLowerCase();
    $(".searched-articles").hide();
    $(".searched-articles").filter(function() {
      return $(this).find(".global").attr("data-type").toLowerCase() == filter;
    }).show();
  });
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="searched-articles" style="border:1px solid #000;">
  <a href="#/testing-2/">
    <div class="col-md-2 col-sm-2 float-left author-date">
      <span class="date">03-01-2022</span>
    </div>
    <div class="col-md-6 col-sm-6 float-left heading">
      <h4>Testing</h4>
      <span class="global" data-type="India">India</span>
    </div>
  </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
  <a href="#/test3-2/">
    <div class="col-md-2 col-sm-2 float-left author-date">
      <span class="date">29-12-2021</span>
    </div>
    <div class="col-md-6 col-sm-6 float-left heading">
      <h4>BlazeDream Test3</h4>
      <span class="global" data-type="India">India</span>
    </div>
  </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
  <a href="#/2/">
    <div class="col-md-2 col-sm-2 float-left author-date">
      <span class="date">29-12-2021</span>
    </div>
    <div class="col-md-6 col-sm-6 float-left heading">
      <h4>BlazeDreamTest2</h4>
      <span class="global" data-type="America">America</span>
    </div>
  </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
  <a href="#/news2/">
    <div class="col-md-2 col-sm-2 float-left author-date">
      <span class="date">30-11-2021</span>
    </div>
    <div class="col-md-6 col-sm-6 float-left heading">
      <h4>News2</h4>
      <span class="global" data-type="America">America</span>
    </div>
  </a>
</div><br>
<div class="searched-articles" style="border:1px solid #000;">
  <a href="#/test3/">
    <div class="col-md-2 col-sm-2 float-left author-date">
      <span class="date">27-11-2021</span>
    </div>
    <div class="col-md-6 col-sm-6 float-left heading">
      <h4>test3</h4>
      <span class="global" data-type="India">India</span>
    </div>
  </a>
</div><br>
<div>
  <select class="mdl-selectfield__select" id="countries" name="countries">
    <option value="All Countries">All Countries</option>
    <option value="India">India</option>
    <option value="America">America</option>
  </select>
</div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70697409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档