检查选项是否存在的更短方法

时间:2019-01-21 13:16:57

标签: javascript jquery

我希望有一种更短的方法来检查sela中是否存在一个选项。

有什么建议吗?

var str = 'white moon';
var x = 0;
$('#sela > option').each(function(){
if($(this).text() == str){x = 1;}
});

if(x == 1){console.log(x);}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select id='sela'>
<option>blue sky</option>
<option>gold sun</option>
<option>white moon</option>
</select>

3 个答案:

答案 0 :(得分:1)

这将检查下拉列表中存在的给定选项。

$(document).ready(function() {
  console.log($("#sela option:contains(white moon)").length);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='sela'>
  <option>blue sky</option>
  <option>gold sun</option>
  <option>white moon</option>
</select>

答案 1 :(得分:1)

if ($('#sela option').length > 0) {
  console.log('exist');
}

//if specific option exist
if($("#sela option[value='yourValue']").length > 0) {
}

答案 2 :(得分:0)

为什么不将value属性赋予您的选项?然后您可以轻松地选择所需的那个

var str = 'white moon';
console.log($('#sela>option[value="'+str+'"]'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select id='sela'>
<option value="blue sky">blue sky</option>
<option value="gold sun">gold sun</option>
<option value="white moon">white moon</option>
</select>