Estou usando o componente suspenso de inicialização no meu aplicativo como este:
<div class="btn-group">
<button class="btn">Please Select From List</button>
<button class="btn dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">Item I</a></li>
<li><a tabindex="-1" href="#">Item II</a></li>
<li><a tabindex="-1" href="#">Item III</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="#">Other</a></li>
</ul>
</div>
Gostaria de exibir o item selecionado como o rótulo btn. Em outras palavras, substitua "Por favor, selecione na lista" pelo item da lista que foi selecionado ("Item I", "Item II", "Item III").
fonte
Atualizado para o Bootstrap 3.3.4:
Isso permitirá que você tenha diferentes valores de texto e dados de exibição para cada elemento. Também persistirá o cursor na seleção.
JS:
HTML:
Exemplo de JS Fiddle
fonte
$(this).text()
.$(this).parents(".dropdown").find('.btn')
em uma variável em vez de o jquery atravessar o DOM duas vezes.Consegui melhorar um pouco a resposta de Jai para o trabalho, caso você tenha mais de um botão suspenso com uma apresentação muito boa que funciona com o bootstrap 3:
Código para o botão
Snippet do JQuery
Eu também adicionei uma margem de 5px à classe "seleção".
fonte
Esta única função jQuery fará tudo o que você precisa.
fonte
Aqui está a minha versão disso, que espero poupar um pouco do seu tempo :)
jQuery PART:
PARTE HTML:
fonte
Este funciona em mais de uma lista suspensa na mesma página. Além disso, adicionei circunflexo no item selecionado:
fonte
você precisa usar add class
open
in<div class="btn-group open">
e em
li
adiçãoclass="active"
fonte
Modificado ainda mais com base na resposta de @Kyle, como $ .text () retorna uma string exata, para que a tag de cursor seja impressa literalmente, e não como uma marcação, apenas no caso de alguém desejar manter o cursor intacto no menu suspenso.
fonte
Corrigi o script para vários menus suspensos na página
fonte
Outra maneira simples (Bootstrap 4) de trabalhar com vários menus suspensos
fonte
Parece ser uma questão longa. Tudo o que queremos é apenas implementar uma tag de seleção no grupo de entrada. Mas o bootstrap não faria isso: https://github.com/twbs/bootstrap/issues/10486
o truque é apenas adicionar a classe "btn-group" ao div principal
html:
js:
fonte
Depois de clicar no item, adicione algum atributo de dados como data-selected-item = 'true' e obtenha-o novamente.
Tente adicionar o item selecionado como data = true para o elemento li em que você clicou e, em seguida,
Antes de adicionar este atributo, basta remover o item selecionado de dados existente na lista. Espero que isso possa ajudá-lo
Para obter informações sobre o uso de atributos de dados no jQuery, consulte Dados do jQuery
fonte
var test = $('ul.dropdown-menu li').data('selected-item').find('a').text(); $("#nbtn").html(test);
por favor, deixe-me saber o que estou fazendo de errado?Eu tive que colocar alguns javascripts exibidos acima dentro do código "document.ready". Caso contrário, eles não funcionaram. Provavelmente óbvio para muitos, mas não para mim. Portanto, se você estiver testando, observe essa opção.
fonte
Por exemplo:
HTML:
Eu uso o novo elemento BtnCaption para alterar apenas o texto do botão.
Colar em
$(document).ready(function () {}
texto a seguirJavaScript:
:not(.disabled)
não permita usar os itens de menu desativadosfonte