让javascript使用两个下拉输入进行筛选
我有两个下拉列表来筛选列表。到目前为止,它只过滤掉最后使用的下拉列表。我想让他们一起工作,这样有人点击“周”下拉列表,所有的li与该类节目,然后点击“锻炼”下拉列表,它会过滤更多让javascript使用两个下拉输入进行筛选,javascript,jquery,html,Javascript,Jquery,Html,我有两个下拉列表来筛选列表。到目前为止,它只过滤掉最后使用的下拉列表。我想让他们一起工作,这样有人点击“周”下拉列表,所有的li与该类节目,然后点击“锻炼”下拉列表,它会过滤更多 $('select')。更改(函数(){ var电流=该值; 如果(当前==“全部”){ $('FilterContainer').find('li.all').show(); }否则{ $('FilterContainer')。查找('li')。隐藏(); $('FilterContainer').find('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();
});
我仍然不清楚,因为您的样本缺少可处理的信息,所以我不确定从中筛选出什么。。。