使用jQuery在Bootstrap 4下拉菜单中仅显示图标

问题描述 投票:-1回答:1

我想创建一个Web图标字体下拉菜单,仅在打开菜单时显示标志图标旁边的相应文本。

当进行选择并关闭菜单时,我想只看到没有文本的活动标记图标。

网页应加载其中一个标志Active默认为ex:Greece

By default it should be selected with one of the options like Greece When you click on it, it should tell you more about the country

这是我的JQuery代码,我认为问题在于此(TEXT)但我确信有人可以修复此代码,或者甚至提供更好的解决方案,因为我确定Bootstrap 4可能有其他选项使用活动状态添加使用jQuery类/删除类。

$(".dropdown-menu li a").click(function(){
  $(this).parents(".dropdown").find('.btn').html($(this).text() + ' <span class="caret"></span>' + ' <span class="caret"></span>');
  $(this).parents(".dropdown").find('.btn').val($(this).data('value'));
});

我的HTML(使用Bootstrap 4)

<nav class="p-0 navbar navbar-expand fixed-top bg-white fixed-top">
    <div class="container">
        <ul class="container-fluid navbar-nav js-signin-modal-trigger justify-content-end list-unstyled" id="navbar2SupportedContent">
            <li class="dropdown">
                <a class="bg-light btn btn-default dropdown-toggle mx-0" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><span class="flag-icon flag-icon-gr"></span></a>
                <ul class="dropdown-menu text-left" aria-labelledby="dropdownMenu1">
                    <li><a href="#" data-value="action"><span class="ml-2 label label-default"><span class="flag-icon flag-icon-gr"></span>Greece</span> </a> </li>
                    <li><a href="#" data-value="another action"><span class="ml-2 flag-icon flag-icon-fr"></span> <span>France</span></a></li>
                    <li><a href="#" data-value="something else here"><span class="ml-2 flag-icon flag-icon-us"></span> <span>United States</span></a></li>
                    <li><a href="#" data-value="separated link"><span class="ml-2 flag-icon flag-icon-es"></span><span> España</span></a></li>
                </ul>
            </li>
            <li><a href="#" data-signin="login" class="Loginbtn font-weight-bold btn navbar-btn px-md-4 px-sm-2 px-xs-1">Log in</a></li>                
            <li><a href="#" data-signin="signup" class="signupbtn text-white font-weight-bold btn navbar-btn px-md-4 px-sm-2 px-xs-1 ml-md-2 ml-sm-1 btn-secondary">Sign up</a></li>
        </ul>
    </div>
</nav>

这是一个不错的小提琴:https://jsfiddle.net/stvu5ckj/1/

这个代码背后的动机是网站www.nextdoor.com如果我能创造出类似的东西,它将是完美的!

Next Door - Great Sample of what I want

jquery css3 drop-down-menu bootstrap-4 dropdown
1个回答
-1
投票

嗨,我建议你必须加载一个json文件与所有国家的iso名称然后在你的每个匹配代码与boostrap代码,你会得到这里的国家名称是json btw Json

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.