Вы почти у цели. Вам нужно найти textarea
внутри counter
класса, используя this
, чтобы получить другое количество. В противном случае он берет сначала textarea
и дает тот же результат.
$('.counter').on('keyup',function(){
var str=$(this).find('textarea').val();
var count = (str.match(/=/g) || []).length;
$(this).find('span').html(count);
});
.row {
background: #f8f9fa;
margin-top: 20px;
}
.col {
border: solid 1px #6c757d;
padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!--
Bootstrap docs: https://getbootstrap.com/docs
-->
<div class="container">
<div class="row">
<div class="col-lg-4 counter">
<strong>Input1</strong> <span class="text-danger"></span><br />
<textarea name="input2a" rows="10" class="form-control" cols="5"></textarea><br />
</div>
<div class="col-lg-4 counter">
<strong>Input2</strong> <span class="text-danger"></span><br />
<textarea name="input3a" rows="10" class="form-control" cols="5"></textarea><br />
</div>
<div class="col-lg-4 counter">
<strong>Input3</strong> <span class="text-danger"></span><br />
<textarea name="input2b" rows="10" class="form-control" cols="5"></textarea><br />
</div>
</div>
</div>