My desired output for the below code should be:
a-b-c-d,e-f-g-h,i-j-k-l
Note the comma instead of - after d and h.
But the below code results in
a-b-c-d-e-f-g-h-i-j-k-l,a-b-c-d-e-f-g-h-i-j-k-l,a-b-c-d-e-f-g-h-i-j-k-l,
I tried searching across stack overflow, but did not came across this type of question. Could someone please help me, please do not mark this question as repititive.
<div class="test1 yes">
<input type="text" class="xyz" value="a" />
<input type="text" class="xyz" value="b" />
<input type="text" class="xyz" value="c" />
<input type="text" class="xyz" value="d" />
</div>
<div class="test2 yes">
<input type="text" class="xyz" value="e" />
<input type="text" class="xyz" value="f" />
<input type="text" class="xyz" value="g" />
<input type="text" class="xyz" value="h" />
</div>
<div class="test3 yes">
<input type="text" class="xyz" value="i" />
<input type="text" class="xyz" value="j" />
<input type="text" class="xyz" value="k" />
<input type="text" class="xyz" value="l" />
</div>
<input type="submit" class='submit'>
<p class='count'></p>
<p class='test'></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$('.submit').click(function(){
var count = $('.yes').length
$('.count').text(count);
var texts = "";
var i = 0;
while (i < count) {
texts += $(".xyz").map(function() { return this.value; })
.get().join('-') + ",";
i++;
}
$('.test').text(texts);
});
</script>