Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

148
Visualizações
Deshabilitar las fechas según la selección de fecha anterior

Soy nuevo en JavaScript. Así que por favor no seas duro conmigo.

Después de seleccionar StartDate, ExpectedEndDate y EndDate deben comenzar con StartDate + 1 día y finalizar en 6 meses. Se deben deshabilitar otras fechas en ExpectedEndDate y EndDate.

Aquí el futureInput.Max funciona bien. Pero el futureInput.Min no funciona. No pude encontrar dónde salió mal.

 $(document).ready(()=>{ var startInput = $('#StartDate')[0]; var expectedEndInput = $('#ExpectedEndDate')[0]; var endInput = $('#EndDate')[0]; startInput.addEventListener('change', (evt)=>{ var EndTime = new Date($("#StartDate").val()); var dd = String(EndTime.getDate() + 1); var mm = String(EndTime.getMonth() + 6); var yyyy = EndTime.getFullYear(); var MaxTime = yyyy + '-' + mm + '-' + dd; var StartTime = new Date($("#StartDate").val()); var dd = String(StartTime.getDate() + 1); var mm = String(StartTime.getMonth() + 1); var yyyy = StartTime.getFullYear(); var MinTime = yyyy + '-' + mm + '-' + dd; debugger [expectedEndInput, endInput].forEach((futureInput)=> { futureInput.min = MinTime; futureInput.max = MaxTime; debugger }) }) })
 <link href="https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <input type="date" id="StartDate" /> <input type="date" id="ExpectedEndDate" /> <input type="date" id="EndDate" />
about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Para reaccionar a cada cambio de <input id="StartDate"> , debemos configurar un detector de eventos de change para ello.

 function daysToMilliseconds(days) { return days * 24 * 60 * 60 * 1000; } function millisecondsToDateString(milliseconds) { // to convert Date to yyyy-mm-dd use Swedish locale return new Date(milliseconds).toLocaleDateString('sv-SE'); } $(document).ready(()=>{ var startInput = $('#StartDate')[0]; var expectedEndInput = $('#ExpectedEndDate')[0]; var endInput = $('#EndDate')[0]; startInput.addEventListener('change', (evt)=>{ // called every time the startInput's date value changes // get start date as milliseconds since 1970 New Year var startTime = startInput.valueAsNumber; // startDate + 1 day var minTime = startTime + daysToMilliseconds(1); // startDate + 180 days (6 months) var maxTime = startTime + daysToMilliseconds(30 * 6); [expectedEndInput,endInput].forEach((futureInput)=> { futureInput.min = millisecondsToDateString(minTime); futureInput.max = millisecondsToDateString(maxTime); }); }) })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="date" id="StartDate" /> <input type="date" id="ExpectedEndDate" /> <input type="date" id="EndDate" />

Consulte esta respuesta SO para la conversión de objetos de fecha a aaaa-mm-dd. Solo se aceptan valores de aaaa-mm-dd para la fecha de entrada min y max .

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda