URL query ändern

Aus VICON-Wiki
Wechseln zu: Navigation, Suche

Einleitung

Möchte man mittels Javascript die GET-Parameter der URL ändern kann dies sehr umständlich werden, falls mehrere Parameter beteiligt sind.

Funktion

function updateQueryStringParameter(uri, key, value) {
  var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
  var separator = uri.indexOf('?') !== -1 ? "&" : "?";
  if (uri.match(re)) {
    return uri.replace(re, '$1' + key + "=" + value + '$2');
  }
  else {
    return uri + separator + key + "=" + value;
  }
}

Benutzung

Die Funktion erstellt nun aus dem gegebenen URI String einen neuen, bei dem die Parameter richtig hinzugefügt sind. Beispiel: Es wird die ausgewählte Kategorie zur aktuellen URL hinzugefügt.

$('select[name=category]').change(function(){
   window.location.href = updateQueryStringParameter(window.location.href, 'category', $(this).val());
});