隐藏后如何重置/显示所有元素

时间:2014-05-03 16:34:16

标签: javascript jquery html

请看一下fiddle。我想在选择框中使用数据属性来获取类名并隐藏一些无序列表项。但是我很难找到如何使用show()重置列表并在隐藏后显示所有项目。任何人都可以告诉我如何将第一个选项作为重置选项吗?

JS代码:

$(document).ready(function(){
    $(".showhidelist").change(function() {
        var  selected = $(this).find('option:selected');
        selected = selected.data('hide');
        $("."+selected).hide();   
    });
});

HTML

<select class="showhidelist">
    <option data-hide="">Reset/Show All</option>
    <option data-hide="year">Hide Year</option>
    <option data-hide="month">Hide Month</option>
</select>

<ul id="list">
    <li class="year">2004</li>
    <li class="month">Feb</li>
<ul>

1 个答案:

答案 0 :(得分:3)

隐藏值后,您没有将选项重置为初始状态。使用$('li')。show();重置li以显示,然后根据选择执行操作。

$(document).ready(function(){
    $(".showhidelist").change(function() {
        var  selected = $(this).find('option:selected');
        $('li').show();
        selected = selected.data('hide');
        $("."+selected).hide();   
    });
});