É possível fazer um controle deslizante HTML5 com dois valores de entrada, por exemplo, para selecionar uma faixa de preço? Se sim, como isso pode ser feito?
99
Não, a entrada do intervalo HTML5 aceita apenas uma entrada. Eu recomendo que você use algo como o controle deslizante de intervalo da interface do usuário jQuery para essa tarefa.
Eu estive procurando por um controle deslizante duplo leve e livre de dependências por algum tempo (parecia loucura importar jQuery apenas para isso) e não parece haver muitos por aí. Acabei modificando um pouco o código do @Wildhoney e gostei muito.
Exibir trecho de código
fonte
Chegando tarde, mas noUiSlider evita ter uma dependência jQuery-ui, o que a resposta aceita não. Sua única "ressalva" é que o suporte do IE é para o IE9 e mais recentes, se o IE legado for um obstáculo para você.
Também é gratuito, de código aberto e pode ser usado em projetos comerciais sem restrições.
Instalação: Baixe noUiSlider, extraia o arquivo CSS e JS em algum lugar do sistema de arquivos do seu site e, a seguir, vincule ao CSS do cabeçalho e ao JS do corpo:
Exemplo de uso: Cria um controle deslizante que vai de 0 a 100 e começa definido como 20-80.
HTML:
JS:
fonte
Claro que você pode simplesmente usar dois controles deslizantes sobrepostos um ao outro e adicionar um pouco de javascript (na verdade, não mais do que 5 linhas) para que os seletores não excedam os valores mínimo / máximo (como em @Garys) da solução.
Em anexo, você encontrará um pequeno snippet adaptado de um projeto atual, incluindo alguns estilos CSS3 para mostrar o que você pode fazer (apenas webkit). Também adicionei alguns rótulos para exibir os valores selecionados.
Ele usa JQuery, mas uma versão vanillajs não é mágica.
fonte
Na verdade eu usei meu script em html diretamente. Mas em javascript, quando você adiciona um ouvinte de evento de entrada para este evento, ele fornece os dados automaticamente. Você só precisa atribuir o valor de acordo com sua necessidade.
fonte