Tengo una lista de casillas de verificación:
<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" />
Puedo recopilar todos los valores de las casillas marcadas; mi pregunta es ¿cómo puedo obtener todos los valores de las casillas de verificación sin marcar? Lo intenté:
$("input:unchecked").val();
para obtener el valor de una casilla de verificación sin marcar, pero obtuve:
Error de sintaxis, expresión no reconocida: sin marcar.
¿Alguien puede arrojar una luz sobre este tema? ¡gracias!

Respuestas:
Como dice el mensaje de error, jQuery no incluye un
:uncheckedselector.En cambio, debe invertir el
:checkedselector:fuente
$("input:checkbox:not(:checked)")Te conseguirá las cajas sin marcar.fuente
Puede hacerlo extendiendo la funcionalidad de jQuerys. Esto acortará la cantidad de texto que tiene que escribir para el selector.
Luego puede usar
$("input:unchecked")para obtener todas las casillas de verificación y botones de radio que están marcados.fuente
También se puede lograr con js puro de tal manera:
fuente
Esto recuperará todas las casillas de verificación sin marcar y excluirá la casilla de verificación "chkAll" que uso para marcar | desmarcar todas las casillas de verificación. Como quiero saber qué valor estoy pasando a la base de datos, los configuré en off, ya que las casillas de verificación me dan un valor de on.
fuente
chkAllcaja, entonces, ¿cuál es el punto de mencionarlo?Puedes usar así:
fuente
Para seleccionar por
class, puede hacer esto:fuente
fuente