При выборе select формировать ссылку
Как можно при выборе select'ов сформировать ссылку с параметрами : shop?brand=1&model=2&body=3&krep=4, чтобы подсавить потом в форму или ещё куда. Как делаю сейчас, но ссылка перезаписывается, а не обновляется. Вроде нужна какай-то переменная, которая будет хранить значения предыдущие, но не пойму как всё должно быть.
$('select[data-filter="carSelect"]').on('click', function(){
$('#link').val('?id='+$(this).val())
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input id='link' value="">
Ответы (1 шт):
Автор решения: UserTest013
→ Ссылка
const selectList = $('select[data-filter="carSelect"]');
function format() {
link.value = [...selectList].map((select) => `${select.name}=${select.value}`).join('&');
}
format();
selectList.on('change', format);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="a1" data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="b2" data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="b3" data-filter="carSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input id='link' value="">