Para minhas seleções mais significativas, a caixa de pesquisa no Select2 é maravilhosa. No entanto, em um exemplo, tenho uma seleção simples de 4 opções codificadas. Nesse caso, a caixa de pesquisa é supérflua e parece um pouco boba por estar presente. É possível escondê-lo de alguma forma? Dei uma olhada na documentação on-line e não consegui encontrar nenhuma opção para isso no construtor.
É claro que eu poderia usar apenas um html select regular, mas por consistência eu gostaria de usar o Select2, se possível.
jquery
jquery-select2
EleventyOne
fonte
fonte
hide
método é descrito aqui: api.jquery.com/hide Desde que você o aplique apenas ao seletor apropriado, sim, ele deve ocultar a caixa de pesquisa sozinha. No entanto, existem métodos específicos de plugins que podem ser empregados para ocultá-lo, que eu recomendaria que você usasse (veja abaixo).Respostas:
Consulte este tópico https://github.com/ivaynberg/select2/issues/489 . Você pode ocultar a caixa de pesquisa definindo minimumResultsForSearch com um valor negativo.
fonte
Infinity
não é um valor negativo. Sua edição faz com que o texto e o código não correspondam. A questão vinculada a indica especificamente que um valor negativo é a abordagem suportada correta. O problema vinculado a também afirma "O alto valor de minimumResultsForSearch oculta apenas a caixa de pesquisa na seleção aberta. Mas, se digitarmos uma letra enquanto a seleção estiver fechada e focada - a pesquisa será exibida, não importa quão alta seja" e, embora eu não possa reproduzir esse problema específico na versão atual, é provável que seja um problema real nas versões mais antigas. Por esses motivos, revirei sua edição.Está na página de Exemplos: https://select2.org/searching#hiding-the-search-box
fonte
fonte
Versão 4.0.3
Tente não misturar os requisitos da interface do usuário com o seu código JavaScript.
Você pode ocultar a caixa de pesquisa na marcação com o atributo:
data-minimum-results-for-search="Infinity"
Marcação
Exemplo
fonte
A remoção das entradas com o jQuery funciona para mim:
fonte
Esta é a melhor solução, limpa e funciona bem:
Em seguida, crie uma classe
.hidden { display;none; }
fonte
Se você deseja ocultar a pesquisa por um menu suspenso específico, use o atributo id para isso.
fonte
Se a seleção for mostrar resultados, é necessário usar isso:
fecha a caixa de resultados da pesquisa e define o controle invisível
fonte
Eu gosto de fazer isso dinamicamente, dependendo do número de opções no select; para ocultar a pesquisa de seleções com 10 ou menos resultados, eu faço:
fonte
fonte
fonte
Se você possui vários atributos no seu select, esse hack sujo funciona:
consulte os documentos aqui https://select2.org/searching#limiting-display-of-the-search-box-to-large-result-sets
fonte
Se você deseja ocultar na abertura inicial e preencher o menu suspenso via chamada ajax, adicione o seguinte ao bloco ajax na sua declaração select2:
Para mostrá-lo novamente (e focar) depois que sua solicitação ajax for bem-sucedida:
fonte
Você pode tentar isso
fecha a caixa de resultados da pesquisa e define o controle invisível
Você pode conferir aqui no documento select2 select2 document
fonte
A resposta de @Misha Kobrin funciona bem para mim. Então, decidi explicar mais
Você deseja ocultar a caixa de pesquisa e pode fazê-lo com o jQuery.
por exemplo, você inicializou o plug-in select2 em uma lista suspensa com um público-alvo id
O exemplo funciona em todos os dispositivos nos quais o select2 funciona.
fonte
Editei o
select2.min.js
arquivo para definir oselect-2__search
campo de entrada que é geradoreadonly="true"
.fonte
Para a seleção múltipla, é necessário escrever o código js, não há propriedade de configurações.
Isso foi mencionado em sua página: https://select2.org/searching#multi-select
fonte
tente este CSS
esta entrada é campo de pesquisa
fonte