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:
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
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


0