Вы можете использовать change()
и напрямую увеличивать значение до selectedValues[]
, а не зацикливаться с помощью each()
.
Кроме того, пустое значение как value=""
также может быть полезным, так как вы не хотите Choose One
в вашем textarea
var selectedValues = [];
$("#counties").change(function() {
if (!selectedValues.includes($(this).val()) && $(this).val())
selectedValues.push($(this).val());
$("#email").val(selectedValues);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
Email:
<br>
<textarea type="text" id="email"></textarea>
</div>
<div>
<br> Counties:
<br>
<select id="counties">
<option data-mail="1" value="">Choose One</option>
<option data-mail="2" value="Charlotte">Charlotte</option>
<option data-mail="3" value="Collier">Collier</option>
</select>
</div>
Несколько
var selectedValues = [];
$("#counties").change(function() {
if ($(this).val())
selectedValues.push($(this).val());
$("#email").val(selectedValues);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
Email:
<br>
<textarea type="text" id="email"></textarea>
</div>
<div>
<br> Counties:
<br>
<select id="counties">
<option data-mail="1" value="">Choose One</option>
<option data-mail="2" value="Charlotte">Charlotte</option>
<option data-mail="3" value="Collier">Collier</option>
</select>
</div>