Есть скрипт который собирает данные с формы
// Аяксовая корзина (добавление варианта)
$(document).on("submit", "form.variants", function (e) {
e.preventDefault();
vars = $(this).serialize();
console.log(vars);
$.ajax({
url: "ajax/cart.php",
data: vars,
dataType:'json',
success:function(data){
$('#cart_informer').html(data.desktop);
$('#cart_informer_main').html(data.main);
$('#cart_informer_mini').html(data.mini);
$('#cart_informer_mobile').html(data.mobile);
$.fancybox.close();
}
});
});
<form>
<input id="product_preview183" name="variant" value="183" type="radio" class="sytle-input" checked="">
<input class="amounts incr__val" name="add_variant[107]" type="text" value="0">
<input class="amounts incr__val" name="add_variant[108]" type="text" value="2">
<button type="submit" value="">Добавить</button>
<input name="mode" value="add" type="hidden">
</form>
variant=183&add_variant%5B107%5D=0&add_variant%5B108%5D=2
КАк можно передать так чтоб с нулевым значением serialize не собирало в итоге чтоб
variant=183&add_variant%5B108%5D=2 - было так и соответственно добавляя значение value он отправлял только те что >0
Думал решить проблему так
vars = $(this).serializeArray().filter(item => +item.value);
Но у меня еще передается скрытый инпут mode, как сделать так чтоб передавались только нужные input?