I have a problem I am trying to get the query of a current url from javascript but it gives me a problem.
Result that answers is:
/pinturas?**0**=27&1=1&demo=1&sort_by=price-descending
Url requested:
localhost/category/pinturas?page=27&demo=1
At the beginning of the query pinturas?0=27
at zero should go page
JAVASCRIPT
$('select[class="form-control js-sort-by"]').change(function(){
var vars = [], hash;
var q = document.URL.split('?')[1];
if(q != undefined){
q = q.split('&');
for(var i = 0; i < q.length; i++){
hash = q[i].split('=');
vars.push(hash[1]);
vars[hash[0]] = hash[1];
}
}
var params = vars;
params['sort_by'] = $(this).val();
var sort_params_array = [];
for (var key in params) {
if ($.inArray(key,['page'])==-1) {
sort_params_array.push(key + '=' + params[key]);
}
}
var sort_params = sort_params_array.join('&');
alert(window.location.pathname + '?' + sort_params);
});
HTML
<label for="sort-by">Ordenar por: </label>
<select class="form-control js-sort-by" id="sort-by">
<option value="price-ascending">Precio: Menor a Mayor</option>
<option value="price-descending">Precio: Mayor a Menor</option>
<option value="alpha-ascending">A - Z</option>
<option value="alpha-descending">Z - A</option>
<option value="created-descending">Más Nuevo al más Viejo</option>
<option value="created-ascending">Más Viejo al más Nuevo</option>
<option value="best-selling">Más Vendidos</option>
</select>