Yus*_*sef 0 jquery jquery-chosen
我有一个隐藏(显示:无)选择选项,根据它选择创建,
<div>
<select class="fpd-elements-dropdown" style="display: none;">
<option value="none">None</option>
<option value="1406378948898">Base</option><option value="1406378949108">Shadow</option></select>
<div class="chosen-container chosen-container-single fpd-border-color" style="width: 100%;" title="">
<a tabindex="-1" class="chosen-single"><span>None</span><div><b></b></div></a><div class="chosen-drop">
<div class="chosen-search"><input type="text" autocomplete="off"></div><ul class="chosen-results"></ul>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后我想要改变(默认选择一个元素(Base))我在jquery代码下面尝试
//$(' .fpd-elements-dropdown').show();
$('.fpd-elements-dropdown option:contains(Base)').prop('selected','selected');
//$('.fpd-elements-dropdown').val($('.fpd-elements-dropdown option:contains(Base)').val());
$('.chosen-container-single').trigger('chosen:updated');
Run Code Online (Sandbox Code Playgroud)
选择选项已更改但选择未更改也尝试
$('.chosen-container-single').trigger("liszt:updated");
Run Code Online (Sandbox Code Playgroud)
但选择的项目没有变化
我发现了自己的错误
$('.fpd-elements-dropdown option:contains(Base)').prop('selected','selected');
$('.chosen-container-single').trigger('chosen:updated');
Run Code Online (Sandbox Code Playgroud)
我应该trigger('chosen:updated')上.fpd-elements-dropdown,而不是`.chosen容器单.
所以
$('.fpd-elements-dropdown option:contains(Base)').prop('selected','selected');
$('.fpd-elements-dropdown').trigger('chosen:updated');
Run Code Online (Sandbox Code Playgroud)
工作正常