JQuery - Seleccionar y deseleccionar checkbox

   
Vista:

Seleccionar y deseleccionar checkbox

Publicado por Alfredo (17 intervenciones) el 17/02/2013 12:32:37
Hola,
tengo un grid que contiene una columna con un checkbox de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<tr primary_key="9">
<td style="width:20px" col="CHK">
<input class="gridCheckBox" type="checkbox" value="9">
</td>
<td col="campo1">lo que sea</td>
<td col="campo2">lo que sea</td>
<td col="campo3">lo que sea</td>
</tr>
<tr primary_key="10">
<td style="width:20px" col="CHK">
<input class="gridCheckBox" type="checkbox" value="10">
</td>
<td col="campo1">lo que sea</td>
<td col="campo2">lo que sea</td>
<td col="campo3">lo que sea</td>
</tr>
.....
.....
.....

Hay muchos más TR..., pero bueno.

Y quiero que funcionen como radiobutton ejecutando una serie de acciones automáticamente al seleccionar uno (mostrar una gráfica y un informe).
Ahora mismo lo tengo de tal manera que si selecciono un checkbox y a continuación selecciono otro que esté más abajo funciona todo perfectamente, pero como seleccione otro que esté más arriba, no me deja: tengo que deseleccionar el actual primero y luego seleccionar el de arriba.

Os pongo el código fuente para ver si podéis ver algo y ayudarme, gracias:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var ch=$('.gridCheckBox:checked');
var chv=[];
 
	if(ch.length==1){
		showDataPlot();
		for(i=0;i<ch.length;i++){
		      chv.push($(ch[i]).val());
		}
 
	  }else{//Si hay más de 1 chequeado
	     for(i=0;i<ch.length;i++){
			if(i==0){
				$('.gridCheckBox[value='+$(ch[i]).val()+']').removeAttr("checked");
			}else{
				chv.push($(ch[i]).val());
				showDataPlot();
		      }
 
        $.ajax({
        type: "GET",
        url: urlApi+'?api=ver_informe&tipo='+location.href+'&cam='+chv.join('|')+xtr,
        success: function(data){
            if(document.getElementById('resInforme')){
                $('#resInforme').detach();
            }
            $("#cuerpo").append(data);
            $('.close').bind('click',function(){$('.ventana').detach();});
    }
    });
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Seleccionar y deseleccionar checkbox

Publicado por Alfredo (17 intervenciones) el 21/02/2013 09:24:49
es que uso $('.gridCheckBox:checked') que contiene todos los checkbox que estén checkeados en cada momento, pero no consigo identificar al que pulso en cada momento porque siempre los empieza a numerar de arriba a abajo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Seleccionar y deseleccionar checkbox

Publicado por xve (557 intervenciones) el 21/02/2013 10:05:26
Hola Alfredo, puedes utilizar .each() http://api.jquery.com/jQuery.each/ que te recorre por todos los elementos...
algo así:
1
2
3
4
5
6
$('.gridCheckBox').each(function(){
    if($(this).is(':checked');)
    {
        ...
    }
});


Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar