У меня есть скрипт, который добавляет значение из щелкнутого элемента. Однако - я хотел бы заменить значение новым при нажатии.Замените параметр url динамически
Пример:
<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;
}
});
});
Первый параметр OnClick дает ?fss=one
и на второй клик вы получите? fss=one+two
. Ссылка сброса очищает его.
Однако - я хотел бы заменить «одно» значение на «два» значения на клик. Значение динамическое - поэтому я не могу просто сделать If/Else url.replace с известным значением.
Как это сделать?
Edit:
Забыл упомянуть, что могут быть и другие параметры в URL. Пример:
Первый щелчок дает
?fss=one
и тому при выполнении действия, которое дает другой параметр я упоминаю это дает следующее:
?param=list&fss=one
, который является правильным с помощью сценария от пользователя brijesh chowdary lavu. Параметр = список - это параметр, который всегда должен быть первым и написан для этого и изменяется от списка к крупному списку, это также работает с этим скриптом.
Проблема, когда я нажимаю на моем конкретном классе во второй раз - вместо того, чтобы идти от
?param=list&fss=one
в
?param=list&fss=two
заменяет все, чтобы
?fss=one
попробовать эту anwers Http: // StackOverflow.com/questions/5999118/add-or-update-query-string-parameter – gurvinder372