Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
bootstrap-datepicker: changeMonth devuelve un resultado de fecha diferente dependiendo de cómo se active, incluido uno extraño

¿Me estoy volviendo loco? Puede cambiar la fecha en el selector de fechas básico de varias formas:

  1. haga clic en el nombre del mes y seleccione un mes
  2. haga clic en las flechas al lado del nombre del mes para avanzar o retroceder un mes a la vez
  3. haga clic en un día del mes siguiente (o anterior) (los días de "relleno" fuera del mes actual)

Obtiene diferentes fechas informadas en el evento changeMonth (o desde getformattedDate) dependiendo de la forma en que cambie la fecha, pero una de ellas no tiene sentido.

Si hace clic en el nombre del mes y selecciona un mes, devuelve el primer día del nuevo mes, todo bien. Si hace clic en las flechas, regresa el mismo día pero en el nuevo mes, por ejemplo, si está el 29 de noviembre, regresará el 29 de diciembre. Sigue bien.

Sin embargo, si hace clic en un día del mes siguiente, devuelve la fecha original de la que acaba de llegar, por ejemplo, si era el 29 de noviembre y hace clic en el 5 de diciembre, todavía devuelve el 29 de noviembre.

 $('#calendar').datepicker({ autoclose: true, format: "yyyy-mm-dd", updateViewDate: true, todayHighlight: false, immediateUpdates: true }) .datepicker('update', '2021-11-29') .on('changeDate', function(e){ // console.log("changeDate: triggered", e); }) .on('changeMonth', function(e){ let updated_content = $('#show_date').val() + '\n' + e.date.toString() + " : " + $('#calendar').datepicker('getFormattedDate') $('#show_date').val(updated_content) });

Configuré un violín básico para ilustrar este comportamiento en https://jsfiddle.net/shaunhurley/k5ovtb9h/35/

¿Me estoy perdiendo de algo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Parece que al hacer clic en una fecha, la fecha se cambia por ese clic de fecha real, en lugar de por el cambio de mes. El problema es que el evento changeMonth se activa antes de que se cambie la fecha.

Aquí hay una solución:

 .on('changeMonth', function(){ setTimeout(()=> { let updated_content = $('#show_date').val() + '\n' + $('#calendar').datepicker('getDate').toString() + " : " + $('#calendar').datepicker('getFormattedDate'); $('#show_date').val(updated_content) }, 0) })

Y un violín actualizado: https://jsfiddle.net/TokerX/8jfkua7v/

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!