Eu tenho uma lista de caixas de seleção:
<input type="checkbox" name="answer" id="id_1' value="1" />
<input type="checkbox" name="answer" id="id_2' value="2" />
...
<input type="checkbox" name="answer" id="id_n' value="n" />
Eu posso coletar todos os valores das caixas de seleção marcadas; minha pergunta é como obter todos os valores de caixas de seleção desmarcadas? Eu tentei:
$("input:unchecked").val();
para obter o valor de uma caixa de seleção desmarcada, mas obtive:
Erro de sintaxe, expressão não reconhecida: desmarcada.
alguém pode esclarecer essa questão? obrigado!
Respostas:
Como a mensagem de erro indica, o jQuery não inclui um
:unchecked
seletor.Em vez disso, você precisa inverter o
:checked
seletor:fonte
$("input:checkbox:not(:checked)")
Você receberá as caixas desmarcadas.fonte
Você pode fazer isso estendendo a funcionalidade do jQuerys. Isso diminuirá a quantidade de texto que você deve escrever para o seletor.
Você pode usar
$("input:unchecked")
para obter todas as caixas de seleção e botões de opção marcados.fonte
Também pode ser alcançado com js puros da seguinte maneira:
fonte
Isso recuperará todas as caixas de seleção desmarcadas e excluirá a caixa de seleção "chkAll" que eu uso para marcar | desmarcar todas as caixas de seleção. Como quero saber qual valor estou passando para o banco de dados, desativei-o, pois as caixas de seleção me dão um valor ativado.
fonte
chkAll
caixa, então qual é o objetivo de mencioná-la.Você pode usar assim:
fonte
Para selecionar por
class
, você pode fazer o seguinte:fonte
fonte