Вам нужно сделать что-то вроде этого:
function replaceQueryString(url,param,value) {
var re = new RegExp("([?|&])" + param + "=.*?(&|$)","i");
if (url.match(re))
return url.replace(re,'$1' + param + "=" + value + '$2');
else
return url + '&' + param + "=" + value;
}
$(".hospitalDropDown").change(function(e) {
window.location.href = replaceQueryString(window.location.href, 'hos', $(this).val());
)};
Фрагмент replaceQueryString
, который вы нашли, уже был упакован в аккуратную небольшую функцию для вас, поэтому вам не нужно ничего знать о регулярных выраженияхиспользовать это.Все, что вам нужно сделать, это передать этой функции свой URL, параметр, который вы пытаетесь изменить ("hos"), и новое значение.
Кроме того, $(location).attr('href')
не действительно допустимо, и вы не 'не используйте его в любом случае, так что просто возьмите его и придерживайтесь window.location.href
.
Наконец, хотя вам не нужны никакие знания регулярных выражений в этом конкретном случае, вы определенно могли бы извлечь выгоду из изучения хотя бы некоторого базового регулярного выражениясинтаксис.Посмотрите на http://www.regular -expressions.info / для некоторых хороших объяснений, а затем используйте тестер регулярных выражений, такой как http://www.regextester.com/, чтобы поиграться с примерами и попытаться написать некоторые свои собственные.