Leer datos

Estoy ingresando al mundo de html/javascript y estaba haciendo una pequeña aplicación y la situación es: tengo ua tabla la cual recupera datos de una BD (usando rs), cada fila recuparada tiene un checkbox, ahora lo que quiero es dependiendo si está marcado o no el check, recuperar las filas seleccionadas.

1 respuesta

Respuesta
1
Este es un ejemplillo básico.
Partimos de unos checkbox los cuales tienen un valor, en tu caso seria lo que recogistes de BBDD.
Al pinchar al botón llamamos a función javascript que nos comprueba si esta checkeado, si es así lo añade a una lista.
Como ves es un ejemplo básico espero que te sirva como punto de partida.
<html>
<script>
function recuperaCheckActivos(){
var pos=0
if (formulario.ch1.checked){
formulario.lista.options[pos]=new Option(formulario.ch1.value,formulario.ch1.value,true,false)
pos++;
}
if (formulario.ch2.checked){
formulario.lista.options[pos]=new Option(formulario.ch2.value,formulario.ch2.value,true,false)
pos++;
}
if (formulario.ch3.checked){
formulario.lista.options[pos]=new Option(formulario.ch3.value,formulario.ch3.value,true,false)
pos++;
}
}
</script>
<form name=formulario>
<input type=checkbox name="ch1" value="valor1 de BBDD"> <input type=text name=txt1 value="valor1 de BBDD"> <br>
<input type=checkbox name="ch2" value="valor2 de BBDD"> <input type=text name=txt2 value="valor2 de BBDD"> <br>
<input type=checkbox name="ch3" value="valor3 de BBDD"> <input type=text name=txt3 value="valor3 de BBDD"> <br>
<br>
<input type=button name=butRecupera value=Recupera onclick="recuperaCheckActivos()"> <br>
<br>
<select name=lista size=3>
</select>
</form>
</html>
Te agradezco la rpta, solo me queda una duda, con esto recupero los checks, pero lo que quisiera es recuperar toda la fila que está compuest como primer acolumna por un checkbos y el segundo y tercero es un textbox y el cuarto una lista de valores, y así por n filas, al estar el checkbox marcado intento recuperar toda la fila es decir los dos textbox y el listbox, espero que me haya dejado entender
Muchas gracias
No lo veo muy claro pero esto te puede servir de ayuda, la idea es que una vez que has detectado que está chequeado es ir cogiendo los valores referente a esa fila para guardarlos, mostrarlos etc ...
Para ello unicamente debes de saber el nombre de los otros elementos y a partir del indice lo tendriás.
He modificado el ejemplillo.
<html>
<script>
function borrar(){
formulario.lista1Recupera.options[0]=null;
formulario.lista1Recupera.options[1]=null;
formulario.lista1Recupera.options[2]=null;
formulario.lista2Recupera.options[0]=null;
formulario.lista2Recupera.options[1]=null;
formulario.lista2Recupera.options[2]=null;
}
function recuperaCheckActivos(){
borrar();
var pos=0
var indice1 = document.formulario.listabbdd1.selectedIndex // cogo el indice selecionado
var indice2 = document.formulario.listabbdd2.selectedIndex // cogo el indice selecionado
var indice3 = document.formulario.listabbdd3.selectedIndex // cogo el indice selecionado
if (formulario.ch1.checked){
formulario.lista1Recupera.options[pos]=new Option(formulario.ch1.value,formulario.ch1.value,true,false)
formulario.lista2Recupera.options[pos]=new Option(formulario.textbbdd1.value,formulario.textbbdd1.value,true,false)
//alert(indice1);
//alert(document.formulario.listabbdd1.options[indice1].value);
formulario.lista3Recupera.options[pos]=new Option(document.formulario.listabbdd1.options[indice1].value,document.formulario.listabbdd1.options[indice1].value,true,false)
pos++;
}
if (formulario.ch2.checked){
formulario.lista1Recupera.options[pos]=new Option(formulario.ch2.value,formulario.ch2.value,true,false)
formulario.lista2Recupera.options[pos]=new Option(formulario.textbbdd2.value,formulario.textbbdd1.value,true,false)
formulario.lista3Recupera.options[pos]=new Option(document.formulario.listabbdd2.options[indice2].value,document.formulario.listabbdd2.options[indice2].value,true,false)
pos++;
}
if (formulario.ch3.checked){
formulario.lista1Recupera.options[pos]=new Option(formulario.ch3.value,formulario.ch3.value,true,false)
formulario.lista2Recupera.options[pos]=new Option(formulario.textbbdd3.value,formulario.textbbdd1.value,true,false)
formulario.lista3Recupera.options[pos]=new Option(document.formulario.listabbdd3.options[indice3].value,document.formulario.listabbdd3.options[indice3].value,true,false)
pos++;
}
}
</script>
<form name=formulario>
<input type=checkbox name="ch1" value="valor1 de BBDD"> <input type=text name=txt1 value="valor1 de BBDD"> - <input type=text name="textbbdd1" value="otro valor de 1">
<select name=listabbdd1 size=3>
<option value=porDefecto selected > por defecto en BBDD1 </option>
<option value=1> 1 </option>
<option value=11> 11 </option>
</select>
<br>
<input type=checkbox name="ch2" value="valor2 de BBDD"> <input type=text name=txt2 value="valor2 de BBDD"> - <input type=text name="textbbdd2" value="otro valor de 2">
<select name=listabbdd2 size=3>
<option value=porDefecto selected > por defecto en BBDD2</option>
<option value=2> 2 </option>
<option value=22> 22 </option>
</option>
</select>
<br>
<input type=checkbox name="ch3" value="valor3 de BBDD"> <input type=text name=txt3 value="valor3 de BBDD"> - <input type=text name="textbbdd3" value="otro valor de 3">
<select name=listabbdd3 size=3>
<option value=porDefecto selected > por defecto en BBDD3</option>
<option value=3> 3 </option>
<option value=33> 33 </option>
</select>
<br>
<input type=button name=butRecupera value=Recupera onclick="recuperaCheckActivos()"> <br>
<br>
<select name=lista1Recupera size=3>
</select>
<select name=lista2Recupera size=3>
</select>
<select name=lista3Recupera size=3>
</select>
</form>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas