如何检测选择选项是否存在

时间:2020-06-17 02:46:55

标签: javascript jquery

如何检测选择选项是否存在(最好在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 个答案:

答案 0 :(得分:1)

有什么帮助吗?

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 :(得分:1)

查询#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>

答案 2 :(得分:0)

尝试:

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

答案 3 :(得分:0)

  1. 选项没有任何价值

    $('#sel选项').filter(function(){返回$(this).html()==“ ipsum”;})。length> 0

  2. 选项具有价值

    $('#sel option [value =“ ipsum”]')。length> 0