Foros del Web » Programando para Internet » Jquery »

ayuda cambio valor de input en Jquery

Estas en el tema de ayuda cambio valor de input en Jquery en el foro de Jquery en Foros del Web. Hola gente , soy programador de PHP y me estoy introduciendo en Jquery que es para mi (y seguro que para muchos) la salvación ante ...
  #1 (permalink)  
Antiguo 03/03/2010, 05:37
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
ayuda cambio valor de input en Jquery

Hola gente , soy programador de PHP y me estoy introduciendo en Jquery que es para mi (y seguro que para muchos) la salvación ante los problemas que genera javascript con las diferencias entre los distintos navegadores de como lo interpretan.
El tema es que tengo dos inputs de un calendario:
Código:
<input tye="text" name="inicio" value="" >
<input tye="text" name="fin" value="" >
Me gutaria de algún modo poder hacer esto

1 Que al seleccionar la fecha del primer calendario inicio se borre la fecha de fin.
2 Recuperar el valor que he puesto en inicio.

3 Cambiar la fecha mínima del calendario fin a la obtenida en el punto 2 (esto último lo se hacer yo)

Mil gracias de antemano.
__________________
Videotutoriales de Drupal
  #2 (permalink)  
Antiguo 03/03/2010, 07:10
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: ayuda cambio valor de input en Jquery

val() recupera el valor de un input, o sea, seleccionas el input de la forma que te sea conveniente, en tu caso podria ser

$('input[name=inicio]').val();

y para borrar también con val() pero colocando como parámetro el valor que irá en el value del input, o sea solo comillas $('input[name=fin]').val(""); encontes borra lo que tiene
  #3 (permalink)  
Antiguo 03/03/2010, 08:37
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: ayuda cambio valor de input en Jquery

Como dice Dany_s, cuando se haga un change() en el elemento que cambia puedes usar val() para obtener el valor del input y introduces el valor en el otro input. ¿Estás usando el calendario del UI de jQuery?
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #4 (permalink)  
Antiguo 03/03/2010, 09:21
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por juaniquillo Ver Mensaje
Como dice Dany_s, cuando se haga un change() en el elemento que cambia puedes usar val() para obtener el valor del input y introduces el valor en el otro input. ¿Estás usando el calendario del UI de jQuery?
Si, uso ese , pero no se como sería la sintaxis de lo que me decis, como decía antes me estoy introduciendo en esta API y todavía estoy muy verde.

Un saludo y gracias
__________________
Videotutoriales de Drupal
  #5 (permalink)  
Antiguo 03/03/2010, 10:59
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Cita:
1 Que al seleccionar la fecha del primer calendario inicio se borre la fecha de fin.
2 Recuperar el valor que he puesto en inicio.
Está bueno que aprendas bien los selectores de jquery.
http://api.jquery.com/category/selectors/

En este caso, al no haber id en los inputs, usamos el name para seleccionarlos. (lo que publicó Dany).

Obtener valor y setear valores se hace con el metodo .val()
http://api.jquery.com/val/

Ahora, que algo suceda depende de un disparador. Por favor publicá las lineas de codigo en donde te parece que puede ponerse un disparador (una función que modifique los inputs). Seguramente el calendario tiene metodos como onSelect o similares.
  #6 (permalink)  
Antiguo 04/03/2010, 11:09
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Está bueno que aprendas bien los selectores de jquery.
http://api.jquery.com/category/selectors/

En este caso, al no haber id en los inputs, usamos el name para seleccionarlos. (lo que publicó Dany).

Obtener valor y setear valores se hace con el metodo .val()
http://api.jquery.com/val/
Bueno la verdad que estoy en ello , aprendiéndome todo lo que puedo de Jquery, pero por el momento no consigo dar con ello.
Hago esto:
Código:
	 function displayVals() {
      var singleValues = $("#inicio").val();
	  alert (singleValues);
    
    }

	
$("#inicio").change(displayVals);
    displayVals();
Donde #inicio es el input con id = "inicio" ; lo que quiero es que cuando cambie el valor de dicho input (con id inicio), obtener la fecha que se ha introducido para que esta sea la mínima en fin.
Con alert lo que quiero es ver si consigo obtener dicho valor que hasta ahora solo me tira undefined al cargar la página la primera vez, ya que los cambios del input "inicio" no hacen que se dispare dicha función change().

Un saludo y mil gracias de antemano.
__________________
Videotutoriales de Drupal
  #7 (permalink)  
Antiguo 04/03/2010, 17:23
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Cita:
$("#inicio").change(displayVals);
displayVals();
Esto creo que iría así:

$("#inicio").change(function(){
displayVals();
};

Esa es la convención (fijate que no le paso parametros en el parentesis). Pero no se. No uso change().

Además, para que funcione, esto tiene que ir en document.ready, porque a la primera lectura la cabecera no conoce al body, y por lo tanto no puede saber el contenido html de #inicio
  #8 (permalink)  
Antiguo 04/03/2010, 17:48
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Esto creo que iría así:

$("#inicio").change(function(){
displayVals();
};

Esa es la convención (fijate que no le paso parametros en el parentesis). Pero no se. No uso change().

Además, para que funcione, esto tiene que ir en document.ready, porque a la primera lectura la cabecera no conoce al body, y por lo tanto no puede saber el contenido html de #inicio
Bueno a para ser sincero no me entero de nada, espero que cuando termine de leerme el liibro de 400 hojas de Jquery sepa hacer lo que necesito.

Mil gracias
__________________
Videotutoriales de Drupal
  #9 (permalink)  
Antiguo 04/03/2010, 18:40
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Con el uso te vas a ir habituando a todo.

Proba esto:
Cita:
$(document).ready(function() {


$("#inicio").change(function(){
displayVals();
};

}); // fin document.ready

function displayVals() {
var singleValues = $("#inicio").val();
alert (singleValues);

}
Sabes que es Dom ready ( o el document.ready de jquery ), no?
  #10 (permalink)  
Antiguo 05/03/2010, 10:11
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Con el uso te vas a ir habituando a todo.

Proba esto:


Sabes que es Dom ready ( o el document.ready de jquery ), no?
Si claro , esa lección ya me la leí (:: , pero ahy muchas cosas que todavía no entiendo como por ejemplo esa función change() pertenece al core supongo ¿no?.

Mil gracias
__________________
Videotutoriales de Drupal
  #11 (permalink)  
Antiguo 05/03/2010, 13:41
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Si. Y ese tipo de funciones se clasifican como events. SIempre podes buscar la documentación en la API de jquery:
http://api.jquery.com/category/events/

Son las mismas que en javascript, pero sin el "on", basicamente (change en vez de onchange).

Y por convención, todas utilizan una funcion anonima para ejecutar cambios:

Cita:
$("#inicio").change(function(){

displayVals(); // o lo que quieras

};
Ademas, dentro de una funcion, podes usar $(this) como identificador del disparador del evento. En este caso, si haces alert($(this)) va a tener un alert por cada tecla que pulses, creo yo.
  #12 (permalink)  
Antiguo 05/03/2010, 13:53
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Si. Y ese tipo de funciones se clasifican como events. SIempre podes buscar la documentación en la API de jquery:
http://api.jquery.com/category/events/

Son las mismas que en javascript, pero sin el "on", basicamente (change en vez de onchange).

Y por convención, todas utilizan una funcion anonima para ejecutar cambios:
Mil gracias , voy a ver y ya contaré por aquí.

Un saludo
__________________
Videotutoriales de Drupal
  #13 (permalink)  
Antiguo 06/03/2010, 11:54
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Jejej sigo intentándolo y no hay manera; he puesto esto:
Código:
$(document).ready(function(){
$("#inicio").change(function(){
displayVals();
});

		
		});
		

function displayVals() {
var singleValues = $("#inicio").val();
var cadena=singleValues.split('/'); 
/*como la fecha le llega tipo mm/dd/yy quitamos la barritas */

mes=parseInt(cadena[0]);
dia=parseInt(cadena[1]);
ano=parseInt(cadena[2]);
$('#fin').datepicker({ minDate: new Date(ano,mes,dia) });
//alert(cadena[0]);alert(cadena[1]);alert(cadena[2]);

}
Cuando cambio la fecha en el calendario sigue sin actualizarse el otro calendario cuyo input tiene de ID "fin".

Un saludo y gracias por vuestra ayudita.

¿puede ser el problema que la fecha le llega de esta forma (ejemplo 06/09/2010?, es decir con ceros delante de lo números?. Si es así ¿como puede quyitarlos?.
Bueno esto acabo decomprobar con una prueba cambiando los datos dinámicos de ano,mes y dia por estos_
$('#fin').datepicker({ minDate: new Date(2009,2,1) });
Que ese no es el fallo , ya que sigue sin funcionar.
__________________
Videotutoriales de Drupal
  #14 (permalink)  
Antiguo 06/03/2010, 12:48
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Probe este alert, para sacarme una duda:

function displayVals() {
var singleValues = $("#inicio").val();
alert(singleValues);
}

Respecto a los 4 numeros, no se. Pero seguramente se puede arreglar.
  #15 (permalink)  
Antiguo 06/03/2010, 15:50
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Probe este alert, para sacarme una duda:

function displayVals() {
var singleValues = $("#inicio").val();
alert(singleValues);
}

Respecto a los 4 numeros, no se. Pero seguramente se puede arreglar.
No entiendo muy bien que dices , pero supongo que quieres decir que prueba con un alert los valores de los números y eso ya lo había hecho (fíajate que lo tengo comentado) y SI devuelve correctamente los valores de los números, pero el calendario 2 no se actualiza la propiedad minDate y no se porque.

Un saludo y gracias
__________________
Videotutoriales de Drupal
  #16 (permalink)  
Antiguo 06/03/2010, 16:05
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Ok, ok.

Hace cosa de una semana tenías una duda sobre minDate. Veo que ya la resolviste y que funciona la primera vez. Ahora, la segunda vez, no funciona. Y si probas esto?

$('#fin').datepicker( 'destroy' ).datepicker({ minDate: new Date(ano,mes,dia) });
  #17 (permalink)  
Antiguo 06/03/2010, 16:10
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Ok, ok.

Hace cosa de una semana tenías una duda sobre minDate. Veo que ya la resolviste y que funciona la primera vez. Ahora, la segunda vez, no funciona. Y si probas esto?

$('#fin').datepicker( 'destroy' ).datepicker({ minDate: new Date(ano,mes,dia) });
Supongo que así destruyo el calendario fin y lo vuelvo a instanciar ¿verdad?.
Voy a probarlo y ya te cuento.
Mil gracias
__________________
Videotutoriales de Drupal
  #18 (permalink)  
Antiguo 06/03/2010, 16:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: ayuda cambio valor de input en Jquery

Tambien encontre informacion buscando "refresh datapicker jquery":

$("#selector").datepicker("change", {minDate: new Date(ano,mes,dia) });

http://groups.google.com/group/jquer...177258b13d05e2
http://old.nabble.com/Datepicker-ref...011s27240.html

Y creo que esto tambien puede ayudar:
http://keith-wood.name/datepickRef.html (es la API. Fijate en donde dice changeFirstDay)
  #19 (permalink)  
Antiguo 07/03/2010, 04:41
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: ayuda cambio valor de input en Jquery

Cita:
Iniciado por mayid Ver Mensaje
Tambien encontre informacion buscando "refresh datapicker jquery":

$("#selector").datepicker("change", {minDate: new Date(ano,mes,dia) });
Ok amigo mil gracias ya lo consegui (aunque a medias), resulta que con este código he logrado que al cambiar el calendario INICIO se actualice la fecha mínima del FIN, pero necesito que este cambio sea permanente mientras no se produzca un nuevo change en el INICIO ,¿me explico?.

Con este código solo consigo que el cambio sea provisional, una vez que vuelvo a pinchar en FIN para poner otra fecha esta ya no es la que habíamos actualizado con cange (:: .

Código:
//Esta función esta dentro de $(document).ready(function() , omito el resto de código de $(document).ready(function() por motivos de espacio
$("#ini").change(function(){
displayVals();
});
    }); //finaliza $(document).ready(function()
		
function displayVals() {
var singleValues = $("#ini").val();
var cadena=singleValues.split('/');
mes=cadena[1];
dia=cadena[0];
ano=cadena[2];
//08/03/2010
/* minDate:(año,mes,dia) */
$("#fin").datepicker("change", {minDate: new Date(ano,mes-1,dia) });
//$('#fin').datepicker({ minDate: new Date(ano,mes,dia) });
//alert(mes);alert(dia);alert(ano);

}
NO ME HAGAS CASO , me había equivocado , esta todo perfecto.
Mil gracias
__________________
Videotutoriales de Drupal

Última edición por Dundee; 07/03/2010 a las 05:34

Etiquetas: input, cambios
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 06:19.