Quiero obtener una lista de nombres de casillas de verificación que se seleccionan en un div con cierta identificación. ¿Cómo haría eso usando jQuery?
Por ejemplo, para este div quiero obtener una matriz ["c_n_0"; "c_n_3"] o una cadena "c_n_0; c_n_3"
<div id="checkboxes">
<input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
<input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
<input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
<input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
</div>
jquery
checkbox
jquery-selectors
Juozas Kontvainis
fuente
fuente
var selected = new Array();
. Mejor (más barato) convar selected = [];
change
funcionamiento?¿Haría esto?
fuente
.attr('checked')
o.prop('checked')
o.is(':checked')
no funciona, prueba.get(0).checked
le dará una serie de elementos en sí mismos. Si solo necesita específicamente los nombres:
fuente
$("#checkboxes :checked").map(...)
Sería más conciso. Como señala Jansen, debería ser$(this).attr("name")
; pero consideraría un simplethis.name
que debería ser igual de compatible.children
afind
mirar más profundamente, y jQuery necesaria atributos tan acostumbrado$(this)
(y escribí este comentario para cuando llego a mirar de nuevo ...)Necesitaba el recuento de todas las casillas de verificación que están marcadas. En lugar de escribir un bucle, hice esto
Compárelo con el número total de casillas de verificación para ver si son iguales. Espero que ayude a alguien
fuente
Esto funciona para mi.
fuente
También podría darles a todos el mismo nombre para que sean una matriz , pero asígneles valores diferentes :
Entonces puede obtener solo el valor de solo los marcados usando map :
fuente
fuente
fuente