Есть несколько способов решить эту проблему, например, вы можете сделать это следующим образом:
$(":submit").click(function() {
var result = ($('input#one').val() == 'true' ? 'opt-in-one' : 'opt-out-one')
+ ($('input#two').val() == 'true' ? 'opt-in-two' : 'opt-out-two');
//do something with result
});
Если вы хотите сказать формат, подобный "out-in-one,opt-out-two"
, вы можете использовать .map()
, например:
$(":submit").click(function() {
var result = $('input#one, input#two').map(function() {
return (this.value == 'true' ? 'opt-in-' : 'opt-out-') + this.id;
}).get().join(',');
//do something with result
});
Второй подход работает для любого количества входных данных, было бы немного чище, если бы вы дали им класс, тогда вместо 'input#one, input#two'
вы могли бы сделать, например, 'input.optinout'
. Вы также можете изменить .join(',')
на любой желаемый разделитель.