Я пытаюсь добавить некоторые параметры в свой URL на основе выпадающих списков, я хочу, чтобы код был максимально коротким и приятным, поэтому я пытаюсь построить строку для параметров, которая пропускает все переменные, которые являются пустыми поэтому они не добавляются в строку URL. Ниже я попробовал:
$(function() {
var product = 'shirt',
size = 'large',
color = 'blue',
custom = '';
var urlParams = (product === '') ? '' : 'product=' + product + '&' + (size === '') ? '' : 'size=' + size + '&' + (color === '') ? '' : 'color=' + color + '&' + (custom === '') ? '' : 'custom=' + custom;
console.log(urlParams);
// Go to results page
// location.href = 'results?' + urlParams;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Ожидаемый результат urlParams
:
product=shirt&size=large&color=blue
К сожалению, это возвращает пустую строку. Можно ли построить параметры, как это? Или есть какой-нибудь лучший способ сделать это?