让javascript使用两个下拉输入进行筛选

让javascript使用两个下拉输入进行筛选,javascript,jquery,html,Javascript,Jquery,Html,我有两个下拉列表来筛选列表。到目前为止,它只过滤掉最后使用的下拉列表。我想让他们一起工作,这样有人点击“周”下拉列表,所有的li与该类节目,然后点击“锻炼”下拉列表,它会过滤更多 $('select')。更改(函数(){ var电流=该值; 如果(当前==“全部”){ $('FilterContainer').find('li.all').show(); }否则{ $('FilterContainer')。查找('li')。隐藏(); $('FilterContainer').find('li

我有两个下拉列表来筛选列表。到目前为止,它只过滤掉最后使用的下拉列表。我想让他们一起工作,这样有人点击“周”下拉列表,所有的li与该类节目,然后点击“锻炼”下拉列表,它会过滤更多

$('select')。更改(函数(){
var电流=该值;
如果(当前==“全部”){
$('FilterContainer').find('li.all').show();
}否则{
$('FilterContainer')。查找('li')。隐藏();
$('FilterContainer').find('li.all.+current.show();
}
返回false;
});

在此处选择训练:

选择一周 第一周 第2周 第3周 第4周 选择训练 力量训练#1 力量训练#2 调理训练#3 体能训练#4 恢复训练
    saasasasa
$('select').change(函数(){ var电流=该值; 如果(当前==“全部”){ $('FilterContainer').find('li.all').show(); }否则{ $('FilterContainer')。查找('li')。隐藏(); $('FilterContainer').find('li.all.+current.show(); } 返回false; });
为您制作了一把小提琴

$('select')。更改(函数(){
var filterbyWeekSelection=$.trim($($)选择[data type='filterbyWeek']).val();
var filterbyWorkout selection=$.trim($($)选择[data type='filterbyWorkout']).val();
//$('FilterContainer').find('li.all.+current.show();
//var电流=该值;
如果(filterbyWeekSelection.length==0 | | filterbyWorkoutSelection | | 0){
$('FilterContainer').find('li.all').show();
} 
其他的
{
$(“#FilterContainer”).find('li.'+filterbyWeekSelection+“+filterbyWorkoutSelection).show();
}
返回false;
});

在此处选择训练:

选择一周 第一周 第2周 第3周 第4周 选择训练 力量训练#1 力量训练#2 调理训练#3 体能训练#4 恢复训练
    saasasasa
  • 。因此,您应该尝试将
    week1 sw1
    作为您的类名,而不是仅将
    1 sw1
    作为示例
  • 由于您有两个筛选器,因此需要某种方法来跟踪
    $('select').change()处理程序中这两个筛选器的状态。要么需要两个变量来缓存过滤器选项(在下面的示例中实现),要么需要分别处理这两个变量,即使用两个
    $('select').change()
    处理程序

  • .

    首先,您的if语句将永远不会运行,因为您没有在下拉列表中的任何位置设置value='all'。

    $(“select.filterby”).change(function(){
    
    <script> $("select.filterby").change(function(){
    var filters = $.map($("select.filterby").toArray(), function(e){
        return $(e).val();
    }).join(".");
    $("div#FilterContainer").find("li").hide();
    $("div#FilterContainer").find("li." + filters).show();
    });</script>
    
    变量过滤器=$.map($(“select.filterby”).toArray(),函数(e){ 返回$(e.val(); }).加入(“.”); $(“div#FilterContainer”).find(“li”).hide(); $(“div#FilterContainer”).find(“li.”filters.show(); });
    我仍然不清楚,因为您的样本缺少可处理的信息,所以我不确定从中筛选出什么。。。