Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: kakashi20 en 25 Febrero 2013, 23:39 pm



Título: datepicker
Publicado por: kakashi20 en 25 Febrero 2013, 23:39 pm
hola

tengo este código y estoy intentado que al hacer click en el día del datepicker, este me ponga la fecha en otro div:

<script>
  $(function() {
    $( "#datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true
    });
   
   $( "#datepicker" ).onselect=function(){
      
      $( "#valor" ).html(this.val());}
   
   
  });
  </script>


<div id="datepicker"></div>
<div id="valor">hola</div>



el problema es que no me funciona

si alguien me pudiese ayudar se lo agradecería.


Título: Re: datepicker
Publicado por: dank_ en 26 Febrero 2013, 07:10 am
Sería bueno especificar que biblioteca de javascript estás usando para poder ayudarte.

Por el nombre y forma que usas el método me imagino que será el de jQuery UI (http://jqueryui.com/datepicker/).

Cabe decir que la forma en que aplicas el evento onselect, es incorrecta. En jQuery los eventos no se usan así. Pues lo que estás haciendo es tratar de asignarle una función a un método que ya está definido, en jQuery la función que se realiza en un evento se pasa como argumento al método, algo que se conoce como "callback".

Sin embargo, mirando la documentación de jQuery, tal parece que el onSelect, no es precisamente un evento (aunque quizás sí lo dispare, no lo he probado), sino una opción, por lo tanto sería mejor asignrlo dentro del método datepicker.

Algo así.

Código:
 $(function() {
    $( "#datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true,
      onSelect: function(date, inst){
          $( "#valor" ).html( $(this).val() );
     }
 });

Algo que te ayudará bastante es mirar la consola de errores de javascript.

PD: Revisa el ámbito del this no estoy seguro de que this contenga lo que esperas.


Título: Re: datepicker
Publicado por: kakashi20 en 26 Febrero 2013, 14:55 pm
ok gracias. sirvio