Foros del Web » Programando para Internet » Javascript »

seleccionar radio segun valor en input text

Estas en el tema de seleccionar radio segun valor en input text en el foro de Javascript en Foros del Web. necesito seleccionar 1 radio (de 5) segun el valor que se ingrese en input text (los radio se crean dinamicamente con php) cada radio debe ...
  #1 (permalink)  
Antiguo 22/08/2008, 14:25
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo seleccionar radio segun valor en input text

necesito seleccionar 1 radio (de 5) segun el valor que se ingrese en input text (los radio se crean dinamicamente con php)

cada radio debe tener un valor un rango de valores, me explico

radio 1 -> 0-50
radio 1 -> 51-70
radio 1 -> 71-80
radio 1 -> 81-100
radio 1 -> 101-115

si alguien me da una idea o codigo de ayuda por favor
  #2 (permalink)  
Antiguo 22/08/2008, 14:27
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: seleccionar radio segun valor en input text

Solo necesitas hacer una serie de comparaciones (con if) para los distintos valores y seleccionar el radio correspondiente:
Código PHP:
form.radio[indice].checked true
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/08/2008, 14:45
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: seleccionar radio segun valor en input text

ok, buena idea. pero ahora que me di cuenta no puse qe el radio debe quedar seleccinado al momento de salir del input text (al perder el focus como dicen)

por eso pensaba que Javascript me ayudaria ahi,

es asi???
  #4 (permalink)  
Antiguo 22/08/2008, 14:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: seleccionar radio segun valor en input text

Exacto, con Javascript puedes hacerlo en el evento onblur del input.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 22/08/2008, 14:54
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Respuesta: seleccionar radio segun valor en input text

Código HTML:
<html>
<head>
<script>

function va(numero){


if(numero >= 0 && numero <= 50){
i=0;
}else if(numero <= 70){
i=1;
}else if(numero <= 80){
i=2;
}else if(numero <= 100){
i=3;
}else if(numero <= 115){
i=4;
}

document.form.valor[i].checked = true;

}

</script>
</head>
<body>

<form name="form">
<input type="text" name="numero" id="numero" onkeydown="va(this.value);" onkeyup="va(this.value);">
<input type="radio" name="valor" value="0" />
<input type="radio" name="valor" value="1" />
<input type="radio" name="valor" value="2" />
<input type="radio" name="valor" value="3" />
<input type="radio" name="valor" value="4" />
</form>

</body>

</html> 
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #6 (permalink)  
Antiguo 22/08/2008, 15:08
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: seleccionar radio segun valor en input text

El codigo que te recomienda hgp147 esta excelente solo que en lugar de onkeydown="va(this.value);" onkeyup="va(this.value);" es onblur="va(this.value) asi como dijo David el Grande.

Igual debes de validar que solo capture numeros o que sucedera cuando no este dentro del rango que indicas.
  #7 (permalink)  
Antiguo 22/08/2008, 15: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
Exclamación Respuesta: seleccionar radio segun valor en input text

Otro problema que le veo al código es que el valor que obtendríamos con this.value es texto, y dentro de la función la estamos comparando con números, sería mejor usar un parseInt para convertirlo primero a números.

P.S.: Buen código, hgp147, aunque siempre es bueno incluir una explicación con el código para que el usuario pueda aprender de él en vez de solo copiarlo y pegarlo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 25/08/2008, 07:46
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: seleccionar radio segun valor en input text

agradezco las respuestas, pero quiero seguir abarcando mas detalles con el tema

quisiera poner un mensaje (alert) cuando se ingrese un numero mayor al maximo rango permitido, es decir:

Código PHP:
function valida(numero){
   if((
numero 0) || ()){
          
alert("error")
          return 
false
   
}

he probado esto con el codigo que me dieron, pero quiero agregar ademas la accion de borrar el contenido del input text despues del "alert"

como podria hacerse?
  #9 (permalink)  
Antiguo 25/08/2008, 07:48
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: seleccionar radio segun valor en input text

sorry...

agradezco las respuestas, pero quiero seguir abarcando mas detalles con el tema

quisiera poner un mensaje (alert) cuando se ingrese un numero mayor al maximo rango permitido, es decir:

Código PHP:
function valida(numero){
   if((
numero 0) || (numero 115)){
          
alert("error")
          return 
false
   
}

he probado esto con el codigo que me dieron, pero quiero agregar ademas la accion de borrar el contenido del input text despues del "alert"

como podria hacerse?
  #10 (permalink)  
Antiguo 25/08/2008, 07:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: seleccionar radio segun valor en input text

Código PHP:
document.getElementById('numero').value ''
En ese caso colocamos su value a ''.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 25/08/2008, 10:19
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: seleccionar radio segun valor en input text

señores sigo teniendo problemas, me explico con lo que tengo:
he probado los codigos y andan bien, pero el tema es en caso de input text y radios creados dinamicamente no logro "armar" el asunto

tengo esto para validar que se haya seleccionado un radio por grupo
Código PHP:
<script language="javascript" type="text/javascript">
var 
MensajeDeError="Haga el favor de rellenar todo!"
    
function pepote(f){
        
marcado=false;
        var 
nombre;
        for(
a=0a<f.elements.lengtha++){
            if(
f[a].type=="radio"){
                if(
nombre!=f[a].name){
                    
nombre=f[a].name;
                    for(
aa=0f[a+aa].name==f[a].nameaa++){
                        if(
f[a+aa].checked){
                            
marcado=true;
                        }
                    }
                    if(
marcado==false)    { alert(MensajeDeError);return false; }
                }
                
marcado=false;
            }
        }
    } 
</script> 
ahora porque tengo esto, porque tengo otra seccion donde debo seleccionar radios de acuerdo a una escala, y el otro punto en el que estoy trabajando y de donde nace mi consulta primera, es que se debe selecionar un radio a partir de un valor en "input text"

mi codigo es asi para crear los input text y radios:
Código PHP:
  while($pos_m > -1){
    echo 
"<tr>";
    echo 
"<td align=center><strong>" $num "</strong></td>";
    echo 
"<td>" $arreglo_m[$pos_m][1] . "</td>";
    echo 
"<td align=center><input type='text' name="$arreglo_m[$pos_m][1] ." onkeydown='va(this.value);' onkeyup='va(this.value);' onclick=this.value=''; size=1 maxlength=3 > % </td>";
    for(
$i=1$i 6$i++){
          echo 
"<td align=center><input type='radio' name=ident_m[".$arreglo_m[$pos_m][0]."] disabled=true></td>";
    }
           
$num++;
    
$pos_m--;
  } 
como ven he creado los radio con propiedad disabled=true, me aseguro que se marquen por medio del valor en el input text. En el script que me han dado, no se como hacer referencia al nombre del radio (ya que se crea dinamicamente como se ve en el codigo de arriba)

document.form1.campo.checked = true;

alguienme ayude o guie por favor...

Última edición por hzapata9; 25/08/2008 a las 10:22 Razón: error en digitación
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 09:20.