2014-09-26 71 views
0

我有一个过滤系统,它可以按类别编号过滤数据,通过URL可执行的过滤器?

我可以过滤不是单击按钮,而是直接使用URL,如“domain.com/?data-filter=2”吗?

  $('[data-sort-name]').click(function() { 
       var name = $(this).attr('data-sort-name'); 
       var type = $(this).attr('data-sort-type'); 
       console.log(name + ' ' + type) 

       $('#main>a').sortElements(function(a, b) { 
        var av, bv; 
        av = ($(a).attr('data-' + name)); 
        bv = ($(b).attr('data-' + name)); 
        console.log(av + '///' + bv); 
        return (
          isNaN(av) || isNaN(bv) ? 
          av >= bv : +av >= +bv 
          ) ? 
          type == '>' ? -1 : 1 : 
          type == '>' ? 1 : -1; 
       }); 
      }); 
      $('[ data-filter]').click(function() { 
       $('[ data-filter]').removeClass('active'); 
       var type = $(this).addClass('active').attr('data-filter'); 
       if (type == 'all') { 
         $('#main>a').css('display','block');       
       } else { 
       $('#main>a[data-cat]').each(function() { 
        $(this).css('display', $(this).attr('data-cat').indexOf(type) != -1 ? 'block' : 'none') 
       }) 
      } 
      }); 
     });` 

这里是#menu

   <div class="menu-button"> 


          <a type="button" data-filter="all" class="btn" >ALL</a> 
          <a type="button" data-filter="2" class="btn">Category 1</a> 
          <a type="button" data-filter="3" class="btn">Category 2</a> 

       </div> 

回答

0

是的,你可以在文档位置这意味着你可以解析查询刺痛或完整的URL,如果需要的

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
} 

阅读ref:jquery get querystring from URL

编辑:执行塔季翁:

var $vars = getUrlVars(); 
//this will emulate a user click on the right filter 
$('a[data-filter=' + $vars['data-filter'] + ']').click(); 
+0

谢谢你,所以我可以,我需要改变代码吗?真的不是JS的教授,例如? – Hobbycoder 2014-09-26 12:55:57

+0

根据要求,如何获取查询字符串变量 – DarkMukke 2014-09-26 12:56:53

+0

并添加了一个实现,只是模拟点击,所以不需要更改代码 – DarkMukke 2014-09-26 13:01:12

0

客户端,你可以使用window.location.search得到?data-filter=2串并相应地操控您的文档。

另一种选择是编写JS变量服务器端,例如,在PHP:

<script> 
    ... 
    var myfilter = '<?php print $filter ?>'; 
    ... 
</script>