Javascript 使用下拉列表筛选列表(ul>;li)

Javascript 使用下拉列表筛选列表(ul>;li),javascript,jquery,list,drop-down-menu,filter,Javascript,Jquery,List,Drop Down Menu,Filter,下面的代码根据所选单选按钮()过滤列表 如何更改它,以便使用下拉列表对其进行筛选(选择>选项标记) A B A和B A. B A和B A1 A2 B1 B2 $('input')。单击(函数(){ 变量选择器=$('input:radio').map(函数(){ 返回this.checked?'.+this.id:''; }).get().join(“”); 控制台日志(选择器); var all=$('li[class^=“”]”); if(选择器长度) all.hide().filte

下面的代码根据所选单选按钮()过滤列表

如何更改它,以便使用下拉列表对其进行筛选(选择>选项标记)

A
B
A和B

A. B A和B
  • A1
  • A2
  • B1
  • B2
$('input')。单击(函数(){ 变量选择器=$('input:radio').map(函数(){ 返回this.checked?'.+this.id:''; }).get().join(“”); 控制台日志(选择器); var all=$('li[class^=“”]”); if(选择器长度) all.hide().filter(selector.show(); 否则全部显示(); });
您需要在“选择”标记中添加一个侦听器。查看规范。

像这样吗

$('select').on('change', function (e) {

        var selector = "."+$(this).val();
        console.log(selector); 

        var all = $('li[class^="_"]');
        if(selector.length)
          all.hide().filter(selector).show();
        else all.show();
});

把问题摆在前面,改进措辞,避免重复
$('select').on('change', function (e) {

        var selector = "."+$(this).val();
        console.log(selector); 

        var all = $('li[class^="_"]');
        if(selector.length)
          all.hide().filter(selector).show();
        else all.show();
});
$('select').on('change', function (e) {
        var selector = $('option').map(function(){ 
            return this.selected ? '.' + this.value : ''; 
        }).get().join('');
        console.log(selector);  

        var all = $('li[class^="_"]');
        if(selector.length)
          all.hide().filter(selector).show();
        else all.show();
    });