打开时如何检查变量值是否是select2中的选项之一?

how to check if variable value is one of the options in select2 when it opens?

如何检测我的变量值是否存在于 select2 中的某个选项中? 例如,如果 select2 打开后该选项确实存在,我想从选择中删除该选项。

到目前为止,我只有一个条件来检测select2是否打开,那么如何检查options中是否存在我的var?

var myvariable = $('form#myform #toremove').val();
$('form#myform .select2').on('select2:open', function(e){
   //this part is wrong
   $('form#myform .select2 option').each(function(){
       if($(this).val() == myvariable){
           $(this).remove();
       }
   }); 
});

打开菜单时可以勾选<option>元素,删除DOM中的相关元素:

$(document).ready(function() {
  $("#s1").select2();

  
  $("#s1").on('select2:opening', function (e, i) {
    $(this).find('option').each(function(i, e) {
      // You can check either the text or the value
      if ($(this).text() == 'Alabama' || $(this).val() == 'AL') {
        $(this).remove();
      }
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.full.min.js"></script>

<select id="s1" multiple="multiple" width="100">
  <option value="AL">Alabama</option>
  <option value="WY">Wyoming</option>
</select>

打开后直接删除

$('.select2 option[value="'+myvariable+'"]').remove()