使用URL或选择列表按类别过滤Divs

时间:2019-03-13 20:35:08

标签: jquery select filter hide show

我有一个页面,其中显示了很多div,并且需要具有通过url查询字符串和2个选择列表输入过滤这些div的能力。

我在它会在其中添加?dc = classname的地方工作,然后仅显示具有该类的div-下面的jquery:

<script type="text/javascript">
    // Parse the URL parameter
    function getParameterByName(name, url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g, "\\$&");
        var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, " "));
    }
    // Give the parameter a variable name
    var dynamicContent = getParameterByName('dc');
 
     $(document).ready(function() {
 
        // Check if the URL parameter is apples
        if (dynamicContent == 'westbury') {
            $('.westbury').show();
        } 
        // Check if the URL parameter is oranges
        else if (dynamicContent == 'clifton') {
            $('.clifton').show();
        } 

        // Check if the URL parmeter is empty or not defined, display default content
        else {
            $('.listing-item').show();
        }
    });
</script>

我还需要通过以下两个选择列表显示/隐藏这些相同的div的能力-以及两个定位类。

                       <select id="area">
<option value="">Select Area</option>
    <option value="westbury">Westbury</option> 
    <option value="clifton">Clifton</option>
</select>
<select id="category">
    <option value="">Select Category</option>
    <option value="cafe">cafe</option>
    <option value="shop">shop</option>  
</select>

因此,基本上,如果我访问该页面并且该页面包含在URL?dc = class中,则将显示该类的结果-然后,如果我通过选择列表选择了一个过滤器,则它可以根据以下内容覆盖和显示/隐藏div那个。

如果未选择任何内容或未在网址中显示任何内容,则可以显示所有内容。

谢谢!

0 个答案:

没有答案