Чтобы соответствовать первому вхождению, вам нужно сначала сфокусировать textarea
, а затем использовать setSelectionRange .
Кроме того, поскольку setSelectionRange
не является методом jQuery, вам необходимо получить доступ к элементу html через индекс 0, например. $txt[0].setSelectionRange
Попробуйте что-то вроде этого:
function search() {
var $txt = $('#textArea')
$txt.focus()
var list = $txt.val();
var search = $('#nameSearch').val();
var index = list.indexOf(search);
$txt[0].setSelectionRange(index, index + search.length);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<textarea class="nameList" name="names" id="textArea" cols="30" rows="10">joe, monica, harry, hanna</textarea>
</div>
<input type="text" id="nameSearch" />
<button onclick="search()">Search By Name</button>