При инициализании списка автоматически задаю необходимый мне елемент списка как выбранный но иногда выбирается неверный. Вот в чем соль...
Когда у меня в списке: 'апельсин', 'банан','яблоко','клубничка)' Все ок. Я задаю:
$('.edit_selectCategory option:contains("' + "апельсин" +'")').prop('selected', true);
И все гуд получаю 'апельсин'. Но как только в списке появляется несколько похожих слово то выбирается последнее. Тоесть если в списке еще появится 'апельсин оранженый' то я получу 'апельсин оранженый' а не 'апельсин'.
<select class="edit_selectCategory" style="width: 100%"></select>
Селектор :containts ищет подстроку, а не "только это".
Если нужно точное совпадение и не иначе, то как-то так:
$('.edit_selectCategory option:contains("Апельсин")')
.filter((i, el) => el.innerHTML.toLowerCase().trim() === 'апельсин')
.prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class='edit_selectCategory'>
<option>Банан</option>
<option>Апельсин</option>
<option>Яблоко</option>
<option>Апельсин Лиловый</option>
<option>Клубничка</option>
</select>
Сначала ищем всё с этой строкой, затем используется функция .filter, в которой выбираются уже точные совпадения.
Note:
Селектор :contains выбирает регистрозависимо, т. е. слова Апельсин и апельсин будут разными.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости