Я хочу создать Раскрывающееся меню шрифта веб-значка , в котором отображается соответствующий текст рядом с иконками флага ТОЛЬКО при открытии меню.
Когда выбор сделан и меню закрыто, я хочу видеть ТОЛЬКО значок активного флага без текста.
Веб-страница должна загружаться с одним из флагов, по умолчанию активным, например: Греция
Это мой код JQuery, я думаю, что проблема заключается в this (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. Если я смогу создать нечто подобное, это будет ИДЕАЛЬНО!