JavaScript: pushState заменяет статическое значение в строке поиска - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть запрос на замену этого URL:

window.history.pushState(null, null, window.location.search.replace(/\bcolor=[^&]*/, '$&,Red'));

Он работает так, как должен, но как я могу изменить первое и заменить color на переменную, чтобы сделать это динамически следующим образом:

var value = 'color';
window.history.pushState(null, null, window.location.search.replace(/\b  var_in_here  =[^&]*/, '$&,' + filter_value.attr('data-value') + ''));

Обновление

Из-за первого ответа от Джонаса я попробовал это здесь, но это не работает:

var re = new RegExp('\b' + name + '=[^&]*');
window.history.pushState(null, null, window.location.search.replace(re, '$&,' + filter_value.attr('data-value') + ''));

1 Ответ

0 голосов
/ 08 декабря 2018

Вы можете динамически создать регулярное выражение:

 new Regex("\\b" + name + "=[^&]*")

Два \ необходимы, чтобы это работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...