Foros del Web » Programando para Internet » Jquery »

Duda lista checkbox jQuery

Estas en el tema de Duda lista checkbox jQuery en el foro de Jquery en Foros del Web. Buenos dias, os expongo mi duda para ver si me podeis echar una mano vosotros la comunidad. Bueno lo que deseo es tener una lista ...
  #1 (permalink)  
Antiguo 21/08/2013, 01:17
 
Fecha de Ingreso: agosto-2013
Ubicación: españa
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Duda lista checkbox jQuery

Buenos dias, os expongo mi duda para ver si me podeis echar una mano vosotros la comunidad.

Bueno lo que deseo es tener una lista lleno de checkbox, lo que quiero hacer de efecto es que cuando pinchen a una imagen que el nodo padre es un Div, Bueno cuando hagan click al DIV, quiero es el checkbox este a checked al elemento que hayan hecho click. Aqui pongo el codigo haber que he hecho mal.

Codigo PHP - Monta la Lista de CheckBox sacando los resultados de la Base de Datos
Código PHP:
/*Se Comprueba que tengan algo en la BS*/
if (mysqli_num_rows($res) >= 1) {
/*Se Comprueba de que sea igual a 0 y es de q esta Agotado*/
 
if ($fila["Agotado"] == 0) {
   
$losProductos .='<li id="checklist">
                                      <a class="swipebox"  title="'
.$fila["Nombre"].'" id="btnProducto">
                                              <img class="image-decoration" src="'
.$fila["Imagen"].'" alt="'.$fila["Nombre"].'" />
                                      </a>
                                      <div >
                                            <div>
                                                    <input type="checkbox" class="css-checkbox" name="productCheck[]" value="' 
$fila["idProducto"] . '" />
                                            </div>

                                            <div >
                                                    ' 
$fila["Nombre"] . '
                                            </div>
                                    </div>
                                     <input type="hidden" name="protid" value="' 
$fila["idProducto"] . '" />
                              </li>'
;

}


Ha ora cuando entrar en el index si todo ha ido Bien deberia de mostrar los resultados de la Base de Datos, pero el problema esta en el jQuery creo.

Codigo jQuery
Código:
$(document).ready(function(){
 $(".container  #checklist").toggle(
		function(){
			$(this).css({"border":"3px solid #FF4A24", "borderRadius":"8px"});
			$("#ComprobarCheck").attr('checked', 'checked');	
			$("#activo").append("<p>Marcado</p>");
		},
		function(){
			$(this).css({"border":"","borderRadius":""});
			$("#ComprobarCheck").removeAttr('checked');
			$("#activo").empty("<p>Marcado</p>");
	});
});
Ha ora bien, el efecto de añadir CSS de jQuery si que funciona ya que cada vez que hago click selecciona el elemento que hemos hecho click, pero el problema donde esta es en el checkbox ya que no deja la casilla marcada como checked. Solamente le pone al checked al primer checkbox de la lista, no recorre toda la lista que saca de la BASE DE DATOS, he aqui mi problema.
Bueno ya me direis si podeis hecharme una mano.

Y dar la gracias a esta Comunidad, por estar ahi.
Un Saludo Fumatamax
  #2 (permalink)  
Antiguo 21/08/2013, 07:00
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Duda lista checkbox jQuery

No veo que sea necesario usar JavaScript para hacer eso. Puedes usar perfectamente labels para eso:

Código HTML:
Ver original
  1. <input type="text" id="algo" name="otracosa">
  2. <label for="algo"><img src="perro.png"></label>

Que funcionan justamente como quieres, si se hace click en un label, el elemento al que esté referenciado se marcará. Y luego puedes estilizarlos si su elemento está marcada mediante CSS:

Código CSS:
Ver original
  1. input:checked + label {
  2.   border: 2px;
  3.   border-radius: 5px;
  4. }

Etiquetas: checkbox, lista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:49.