Eu tenho uma página HTML com várias caixas de seleção.
Preciso de mais uma caixa de seleção com o nome "selecionar tudo". Ao marcar esta caixa de seleção, todas as caixas de seleção na página HTML devem estar marcadas. Como posso fazer isso?
javascript
html
checkbox
selectall
user48094
fonte
fonte
CTRL+SHIFT+K
para abrir o console e cole :$("input:checkbox").attr('checked', true)
e pressioneEnter
. Todas as caixas de seleção da página atual agora devem estar marcadas. Para desmarcar a mudançaTrue
paraFalse
.Respostas:
ATUALIZAR:
A
for each...in
construção parece não funcionar, pelo menos nesse caso, no Safari 5 ou Chrome 5. Esse código deve funcionar em todos os navegadores:fonte
for(var i in checkboxes) checkboxes[i].checked = source.checked
funciona em todos os navegadores.for in
com uma coleção ou matriz, n=checkboxes.length;i<n
vez de apenasi < checkboxes.length
? De qualquer forma, para tornar a função genérica (reutilização de código), passe um parâmetro adicional:(source, checkboxes_name)
e façadocument.getElementsByName(checkboxes_name);
É melhor do que codificar o nome e tornar a função específica para um conjunto específico de caixas de seleção.for(let checkbox of checkboxes)
.Usando jQuery :
HTML:
fonte
Não sei se alguém não respondeu dessa maneira (usando jQuery ):
É limpo, não possui loops ou cláusulas if / else e funciona como um encanto.
fonte
Para desmarcar:
fonte
this.checked
em vezEstou surpreso que ninguém mencionou
document.querySelectorAll()
. Solução JavaScript pura, funciona no IE9 +.fonte
Demo http://jsfiddle.net/H37cb/
fonte
attr()
método que eu acho. mudou paraprop()
Versão ligeiramente alterada que verifica e desmarca respeitosamente
fonte
Quando você ligar
document.getElementsByName("name")
, você receberá umObject
. Use.item(index)
para percorrer todos os itens de umObject
HTML:
fonte
fonte
Minha solução simples permite selecionar / desmarcar seletivamente todas as caixas de seleção em uma determinada parte do formulário , usando nomes diferentes para cada caixa de seleção, para que possam ser facilmente reconhecidos após o envio do formulário.
Javascript:
Exemplo HTML:
Espero que você goste!
fonte
Experimente este JQuery simples:
fonte
$(':checkbox').prop('checked', this.checked)
, sem necessidade do condicional.JavaScript é sua melhor aposta. O link abaixo fornece um exemplo usando os botões para desativar / selecionar todos. Você pode tentar adaptá-lo para usar uma caixa de seleção, basta usar o botão 'selecionar todos' na caixa de seleção 'no atributo Click.
Função Javascript para marcar ou desmarcar todas as caixas de seleção
Esta página possui um exemplo mais simples
http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
fonte
Este exemplo funciona com JavaScript nativo, onde o nome da variável da caixa de seleção varia, ou seja, nem todos "foo".
fonte
getcheckboxes
função poderia ser substituído pordocument.querySelectorAll('input[type=checkbox]');
fonte
que deve fazer o trabalho:
fonte
fonte
Usando jQuery e knockout:
Com esta caixa de seleção principal vinculativa, permanece sincronizada com as caixas de seleção sublinhadas, ela será desmarcada, a menos que todas as caixas de seleção estejam marcadas.
em html:
fonte
Você pode ter diferentes conjuntos de caixas de seleção no mesmo formulário . Aqui está uma solução que seleciona / desmarca as caixas de seleção pelo nome da classe, usando a função vanilla javascript document.getElementsByClassName
O botão Selecionar tudo
Algumas das caixas de seleção para selecionar
O javascript
fonte
Isso é o que isso fará, por exemplo, se você tiver 5 caixas de seleção e clicar em marcar todas, marque todas, agora se você desmarcar todas as caixas de seleção provavelmente clicando em cada 5 caixas de seleção, quando desmarcar a última caixa de seleção, selecione todas as caixas de seleção também ficam desmarcadas
fonte
Como não posso comentar, aqui como resposta: eu escreveria a solução de Can Berk Güder de uma maneira mais geral, para que você possa reutilizar a função para outras caixas de seleção
fonte
Se você adotar a resposta principal para o jquery, lembre-se de que o objeto passado para a função click é um EventHandler, não o objeto da caixa de seleção original. Portanto, o código deve ser modificado da seguinte maneira.
Html
Javascript
fonte
Aqui está uma implementação do backbone.js:
fonte
html
javascript
fonte
1: Adicione o manipulador de eventos onchange
2: Modifique o código para manipular marcado / desmarcado
fonte
Os métodos abaixo são muito fáceis de entender e você pode implementar os formulários existentes em minutos
no formulário HTML coloque os botões abaixo
no formulário HTML coloque os botões abaixo
fonte
Você pode usar esse código simples
fonte
para torná-lo em versão abreviada usando jQuery
A caixa de seleção selecionar todos
As crianças caixa de seleção
jQuery
fonte
Talvez um pouco tarde, mas ao lidar com uma caixa de seleção de todos, acredito que você também deve lidar com o cenário em que a caixa de seleção está marcada e desmarcar uma das caixas de seleção abaixo.
Nesse caso, desmarque automaticamente a caixa de seleção marcar todos.
Além disso, ao marcar manualmente todas as caixas de seleção, você deve terminar com a caixa de seleção marcar todas automaticamente.
Você precisa de dois manipuladores de eventos, um para a caixa de seleção todos e um para clicar em qualquer uma das caixas abaixo.
fonte
Simples e direto ao ponto:
jQuery - ao clicar em um botão ou div ou um elemento de rótulo. Marque todas as caixas de seleção na página. Lembre-se de que você precisará ajustar a caixa de seleção: para torná-la mais específica.
fonte