2017-06-26 69 views
0

即时通讯这些新的。JS下拉式选择

该代码具有显示某些内容(ALL,A,B,C)的项目的功能。

该代码适用于按钮,但我不能让按钮在“下拉选择”帮助中工作。

这是 Code

 I was trying to make this work, but it dosent:/ 

    <select class="dropdown-select" id="portfolio-sort"> 
     <option><a href="#" id="all">ALL</a></option> 
     <option><a href="#" data-cat="a">A</a></option> 
     <option><a href="#" data-cat="b">B</a></option> 
     <option><a href="#" data-cat="c">C</a></option> 
    </select> 

回答

0

是您遇到的问题是,你试图把一个链接中选择选项。这是行不通的。

这里,你将需要一个解决方案:

JS

var Portfolio = { 
    sort: function(items) { 
     items.show(); 
     $('#portfolio-content').find('div.portfolio-item').not(items).fadeOut(300); 
    }, 
    showAll: function(items) { 
     items.fadeIn(300); 
    }, 
    doSort: function() { 
     $('#portfolio-select').on('change', function() { 
       var val = $(this).find(':selected').data('cat') 
       if (val != undefined) {  // it will be `undefined` for `all` because there is no `data-cat` on that object 
        var items = $('div[data-cat=' + val + ']', '#portfolio-content'); 
        Portfolio.sort(items); 
       } else { 
        Portfolio.showAll($('div.portfolio-item', '#portfolio-content')); 
       } 
     }); 
    } 
}; 

Portfolio.doSort(); 

HTML

<div id="portfolio"> 


<div id="portfolio-sort"> 
     <select id="portfolio-select"> 
      <option id="all">ALL</option> 
      <option data-cat="a">A</option> 
      <option data-cat="b">B</option> 
      <option data-cat="c">C</option> 
     </select> 
</div> 

<div id="portfolio-content"> 
    <div class="portfolio-item" data-cat="a">A</div> 
    <div class="portfolio-item" data-cat="b">B</div> 
    <div class="portfolio-item" data-cat="c">C</div> 
    <div class="portfolio-item" data-cat="c">C</div> 
    <div class="portfolio-item" data-cat="b">B</div> 
    <div class="portfolio-item" data-cat="a">A</div> 
    <div class="portfolio-item" data-cat="a">A</div> 
    <div class="portfolio-item" data-cat="c">C</div> 
    <div class="portfolio-item" data-cat="b">B</div> 
</div> 

+0

太感谢你了! –