2014-09-26 64 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>