Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494

    [Javascript]Modificare parametro query string

    Salve,
    sul web ho trovato due funzioni, una mi aggiunge alla query string un parametro e l'altra la toglie. Un po di codice per capire meglio:

    Html:
    codice HTML:
    <a href="#" class="servizio" data-id="1">1</a>
    <a href="#" class="servizio" data-id="2">2</a>
    <a href="#" class="servizio" data-id="3">3</a>
    
    function updateQueryStringParameter(uri, key, value) {
      var re = new RegExp("([?&])" + key + "=[^&#]*", "i");
      if (re.test(uri)) {
        return uri.replace(re, '$1' + key + "=" + value);
      } else {
        var matchData = uri.match(/^([^#]*)(#.*)?$/);
        var separator = /\?/.test(uri) ? "&" : "?";
       return matchData[0] + separator + key + "=" + value;
      }
    }
    
    function removeQueryStringParameter(uri, key, value){
    var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
    var separator = uri.indexOf('?') !== -1 ? "&" : "?";
        if (uri.match(re)) {
            return uri.replace(re, '');
        }
    }
        
    $('.servizio').click(function () {
    var servizio = $(this).data('id');
    var href      = $location).attr('href');
    if($(this).parent().hasClass('active')){
    var url = removeQueryStringParameter(href, 'serv', encodeURIComponent(servizio));
    location.href = url;
    } else {
    var url = updateQueryStringParameter(href, 'serv', encodeURIComponent(servizio));
    location.href = url;
    }
    });
    Queste due funzioni fanno il loro lavoro e cioè www.miosito.com?serv=1 se clicco sopra il link con la classe active elimina dalla query string serv=... se no lo modifica, invece io vorrei che cliccando sui link mi desse questo risultato www......com?serv=1,2,3 se clicco sul link con la classe active toglie dal parametro serv solo il numero che ho cliccato. Porto questo esempio: https://www.getyourguide.it/s?q=Milano&srv=prt|wca, in questo caso prt e wca sono separati da | ma fa lo stesso.

    Qualche consiglio?

  2. #2
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    up

  3. #3
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Risolto! grazie lo stesso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.