poerg
poerg

Reputation: 157

Jquery read query string

I'm having trouble reading a query string with Jquery. What I want to do is read the query string and based on what it says scroll to a certain place or element.

here is my code

    $(document).ready(function () {
        var name = getQueryParam("id")
         { var pairs = location.search.substring(1).split('&'); for (var i = 0; i < pairs.length; i++) 
         { var params = pairs[i].split('='); if (params[0] == param) { return params[1] || ''; } } return undefined; }; })(jQuery);

        if ( name == 1){
        scrollTo(0, 800);
        }
    });

Upvotes: 4

Views: 18112

Answers (2)

Nielsm
Nielsm

Reputation: 289

Slightly easier code for doing this: (source: http://jquerybyexample.blogspot.com/2012/05/how-to-get-querystring-value-using.html)

function GetQueryStringParams(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}

Upvotes: 3

Sarfraz
Sarfraz

Reputation: 382616

You can use this function to get query string value:

function getParameterByName( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

Example:

var param = getParameterByName('yourVar');

Upvotes: 26

Related Questions