基于下拉列表触发引导选项卡

Trigger bootstrap tab based on dropdown

本文关键字:选项 下拉列表      更新时间:2023-09-26

我有一个多选下拉列表,在选择特定选项卡时,我需要打开引导选项卡,我只能显示选项卡,但选项卡的内容仅在我单击选项卡后显示,谁能告诉我我犯的错误?

这是我的下拉代码

 <select name="subrole" id="subrole" class="inversed dropdown multiCheckbx triggerTab" multiple="multiple" ng-model="subrole" 
                                multiselect-dropdown required>
                                         <option value="Actor" class="actor" id="actor" href="Actor"> Actor </option>
                                    <option value="Director" class="director" id="director" href="Director"> Director </option>
                                    <option value="Lyricist" class="lyricist" id="lyricist" href="Lyricist"> Lyricist </option>
                                    <option value="Music Director" class="musicdirector" id="musicdirector" href="MusicDir"> Music Director </option>
                                    <option value="Singer" class="singer" id="singer" href="singer"> Singer </option>
                                    <option value="Standup Comedian" class="standupcomedian" id="standupcomedian" href="standupcomedian"> Standup Comedian </option>
                                </select>

这是我的脚本

$('.triggerTab').on('change', function(e) {
    //var subbtn = document.getElementsByClassName("last")[0];
    //$(subbtn).show();
    $('#tabscontainer').show();
    var selected = new Array();
    selected = $('.triggerTab').val();
//alert(selected[0]);
if(jQuery.inArray("Singer", selected) !== -1) {
    $($("#myTab").find("li")[0]).show();
}
else {
    $($("#myTab").find("li")[0]).hide();
}
DisplayTab();

为了显示我的选项卡容器,我正在使用调用以下函数 DisplayTab(),但这默认显示特定选项卡而不是所选选项卡

     function DisplayTab() {
var selecteditems = new Array();
selecteditems = $('#subrole').val();
if(selecteditems!==null && selecteditems.length!== 0)
{
            //$('#tab-2').show();
          //  $('#myTabs a[href="#menu2"]').tab('show') // Select tab by name
                    $('#tabscontainer').show();

}
else {
            //$('#myTabs a[href="#menu2"]').tab('hide') // Select tab by name
                    $('#tabscontainer').hide();
}
}

如何显示特定的选项卡内容?

检查所选选项的数量然后显示选项卡的代码呢?

if ($("#subrole option:selected").length > 0) {
 // You might need a trigger for the tab
 $('#tabscontainer').trigger('click');
 // or follow your logic if that works
 $('#tabscontainer').show();
}