使用文本而非值设置 select2 选项

Kin*_*mon 3 jquery-select2

我知道如果我有一个 select2 并且我想设置其中一个选项,我可以运行此代码。

 $(document).ready(function(){
     $('#btn').change(function(){
       $('#select').val(4).trigger("change")
     });    
 });
Run Code Online (Sandbox Code Playgroud)

假设我想获取选项的文本

<option value=4>California</option>
Run Code Online (Sandbox Code Playgroud)

但是如果我想根据文本而不是值来设置它,我该怎么做?

我试着做

$("#select").select2(data.text(), "California");
Run Code Online (Sandbox Code Playgroud)

但它没有用。

我如何在 jquery 或 javascript 中以编程方式执行此操作。

任何帮助表示赞赏

Yev*_*yev 9

例如:如果您需要在其他国家/地区中找到澳大利亚

let long_name = 'Australia';
let $element = $('.country-js')
let val = $element.find("option:contains('"+long_name+"')").val()
$element.val(val).trigger('change.select2');
Run Code Online (Sandbox Code Playgroud)

其他答案对我不起作用,可能是因为我使用了较新版本的 select2