Mam skrypt, który dodaje wartość z klikniętego elementu. Jednak - po kliknięciu chciałbym zastąpić wartość nową.Zamień dynamicznie parametr url
Przykład:
<ul class="acfilter">
<li><a href="reset">reset</a></li>
<li><a href="One">One</a></li>
<li><a href="Two">Two</a></li>
</ul>
Script
$(document).ready(function() {
$('ul.acfilter li a').on('click', function(e) {
e.preventDefault();
if ($(this).attr('href') != "reset") {
if (location.href.indexOf('?') === -1) {
location.href = location.href + "?fss=" + $(this).attr('href');
} else {
location.href = location.href + "+" + $(this).attr('href');
}
} else {
location.href = location.origin + location.pathname;
}
});
});
Pierwszy parametr onclick daje ?fss=one
i na drugim kliknij dostać? fss=one+two
. Link resetujący usuwa to.
Jednak - chciałbym zastąpić wartość "jeden" wartością "dwa" na kliknięciu. Wartość jest dynamiczna - więc nie mogę po prostu zrobić If/Else url.replace ze znaną wartością.
Jak to zrobić?
Edit:
Zapomniałem wspomnieć, że mogą istnieć inne parametry w adresie URL. Przykład:
Pierwsze kliknięcie daje
?fss=one
i tym, gdy robi akcję, która daje inny parametr I wspomnieć, że daje to:
?param=list&fss=one
która jest prawidłowa za pomocą skryptu z Brijesh użytkownika chowdary lavu. Lista param = jest parametrem, który zawsze musi być pierwszy i jest napisany, aby to zrobić i zmienia się z listy na largelistę, działa to również z tym skryptem.
Problem jest po kliknięciu na mojej konkretnej klasy po raz drugi - zamiast iść z
?param=list&fss=one
do
?param=list&fss=two
zastępuje wszystko
?fss=one
spróbować te anwers http: // stackoverflow.com/questions/5999118/add-or-update-query-string-parameter – gurvinder372