как определить, существует ли опция выбора - PullRequest
0 голосов
/ 17 июня 2020

как определить, существует ли опция выбора (желательно в jquery), например:

let str = 'lorem';
//if(str exists inside `sel options`){console.log('exists');}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='sel'>
<option>lorem</option>
<option>ipsum</option>
</select>

Ответы [ 4 ]

1 голос
/ 17 июня 2020

Это поможет?

let str = 'lorem';

$("#sel option").each(function() {

  var option = $(this).text();

  if (option === str) {
    console.log("Exists");

  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='sel'>
  <option>lorem</option>
  <option>ipsum</option>
</select>
1 голос
/ 17 июня 2020

Запросите тег #sel options id + и получите все селекторы, соответствующие этому селектору элемента. Обходите элементы, используя for с .length в списке элементов. Затем условно для проверки наличия цели с помощью ключа.

let str = 'lorem';
let options = document.querySelectorAll('#sel option');
for (let i = 0; i < options.length; i++) {
  if (options[i].textContent === str) {
    console.log(options[i].textContent + " - Exists")
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='sel'>
  <option>lorem</option>
  <option>ipsum</option>
</select>

JQuery:

let str = 'lorem';
let $options = $('#sel option');
$options.each(function(){
  if($(this).text() === str ){
    console.log(str + ' - Exists')
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='sel'>
  <option>lorem</option>
  <option>ipsum</option>
</select>
0 голосов
/ 17 июня 2020
  1. опция не имеет значения

    $ ('# sel option'). Filter (function () {return $ (this). html () == "ipsum" ;}). length> 0

  2. опция имеет значение

    $ ('# sel option [value = "ipsum"]'). length> 0

0 голосов
/ 17 июня 2020

Попробуйте:

$('#sel').find('option[text="lorem"]');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...