Seleccionar y deseleccionar un checkbox
Publicado por Alfredo (17 intervenciones) el 18/02/2013 09:54:56
Hola,
tengo un grid que contiene una columna con un checkbox de la siguiente manera:
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:
tengo un grid que contiene una columna con un checkbox de la siguiente manera:
1
2
3
4
5
6
7
8
<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
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


0