Foros del Web » Programando para Internet » Javascript » Frameworks JS »

leer valores de varios chebox e inputs

Estas en el tema de leer valores de varios chebox e inputs en el foro de Frameworks JS en Foros del Web. Hola de nuevo, tengo un problemilla que no consigo resolver y esque vereis, a traves de un fomulario que es un buscador por fecha cargo ...
  #1 (permalink)  
Antiguo 16/12/2012, 19:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
leer valores de varios chebox e inputs

Hola de nuevo, tengo un problemilla que no consigo resolver y esque vereis, a traves de un fomulario que es un buscador por fecha cargo el contenido en un div con este formato ya que pueden ser muchos resultados.
Lo que quiero es que selecionando los checkbox me muestre su valor en el textarea y el de los inputs title.

Código:
<div class="parrafo">
<table width="95%" border="0" cellpadding="0" cellspacing="0" style="margin: auto"><tbody><tr><td width="60%" align="center">
<input class="title" type="text" name="title" value="Libro1" >
<input class="sel" type="checkbox" name="sel" value="4468"></td></tr></tbody></table>
<table width="95%" border="0" cellpadding="0" cellspacing="0" style="margin: auto"><tbody><tr><td width="60%" align="center">
<input class="title" type="text" name="title" value="libro2" >
<input class="sel" type="checkbox" name="sel" value="4458"></td></tr></tbody></table>
</div>

echo '<textarea class="area" cols="100" rows="5" name="myname"></textarea>';
		echo "<a class='mostrar' title='Mostrar'><IMG  SRC='modules/upload/images/001_18.png'></a>"
He conseguido leer el primero de los input title o checkbox pero no los demas, he intentado hacer un array pero sin exito.

Código:
$('.mostrar').click(function(){ 
titulo=$('.parrafo').find('.sel').val();
$(".area").val(titulo);

})
A ver si me podeis hechar una mano o guiarme.
Un saludo
  #2 (permalink)  
Antiguo 16/12/2012, 19:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Puedes usar each():
Código Javascript:
Ver original
  1. $(".parrafo").each(function(i) {
  2.     alert($(this).find(".sel").val());
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/12/2012, 20:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

Hola david, gracias por responder tan rápido, he probado lo que dices y me sigue mostrando el primero solo, deberia mostrar todos los inputs con clase=sel???

un saludo
  #4 (permalink)  
Antiguo 16/12/2012, 20:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Miré mal el marcado, sería algo como:
Código Javascript:
Ver original
  1. $(".parrafo").find(".sel").each(function(i) {
  2.     alert($(this).val());
  3. });
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 16/12/2012, 20:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

Vale, ahora si, he metido los valores en un array y va bien

Código:
var sele = new Array();
	var indice = 0;
    	$('.parrafo').find('.sel').each(function(i){
		
		sele[indice] = $(this).val();
		indice++;
		
	})
$(".area").val(sele);
Lo quiero complicar mas, si tengo alguna duda ya te dire, muchas gracias, tas hecho un hacha.
  #6 (permalink)  
Antiguo 17/12/2012, 13:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

Si que me ha surgido otro problemilla, he hecho para que me coja el valor del checkbox que estan selecionados y me los meta en el array, pero quiero que junto al valor del checkbox me coja el del titulo que esta en la misma tabla, pero siempre me da indefined, y esque ahi dentro ya no se si hay q buscar por perents, children o que, porque no tengo claro tampoco si es posible.

Código:
$('.mostrar').click(function(){ 
	var sele = new Array();
	var indice = 0;
    	$('.parrafo').find('[name=sel]').each(function(i){
		if( $(this).attr('checked') )
            { 
		sele[indice] = $(this).val()+$(this).find('.title').val(); //aqui seria sacar el valor de title;
		indice++;
		}
	})
$(".area").val(sele);
})
  #7 (permalink)  
Antiguo 17/12/2012, 13:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Prueba con $(this).prevAll(".title")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 17/12/2012, 13:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

mmm me pone [object Object], esta chunga la cosa

con $(this).parents('.parrafo').find('.title').val(); me lee el primero de la lista solo da igual q este selecionado o no
  #9 (permalink)  
Antiguo 17/12/2012, 13:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Claro, luego el val:
Código Javascript:
Ver original
  1. $(this).prevAll(".title").val()
Pensé que ya se sobreentendía.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 17/12/2012, 14:02
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

jaja perdon ya he probado tantas cosas q ese val no añadi.
me dice undefined, podria influir que el checkbox este en una columna y el input title en otra?? La estructura es asi:

<div class="parrafo">
<table width="95%" border="0" cellpadding="0" cellspacing="0" style="margin: auto"><tbody>
<tr>
<td><input class="title" type="text" name="title" value="Libro1" ></td>
<td><input class="sel" type="checkbox" name="sel" value="4468"></td>
</tr>
</tbody></table>
</div>

Última edición por riscking; 17/12/2012 a las 14:37
  #11 (permalink)  
Antiguo 17/12/2012, 17:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

Nada que no hay manera de leer fuera del each si estas dentro y googleando no encuentro nada sera que no se puede?? esque solo me falta esto para cabar el script.
  #12 (permalink)  
Antiguo 18/12/2012, 02:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Sí, claro que influye, podría ser $(this).closest("tr").find(".title")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 18/12/2012, 11:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: leer valores de varios chebox e inputs

Jaja por fin, pues si que era posible, pero no me queda muy claro el funcionamiento, busca el padre de sel que es parrafo y luego baja a la fila tr y alli busca un elemento clase title no???

Última edición por riscking; 18/12/2012 a las 15:59
  #14 (permalink)  
Antiguo 18/12/2012, 19:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: leer valores de varios chebox e inputs

Más bien busca el antecesor más cercano que sea un <tr> y dentro de ese elemento busca un elemento con la clase title.

Revisa la referencia:
http://api.jquery.com/closest/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: input, inputs, resultados
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 21:26.