Defina o valor inicial para a data no Jquery Datepicker [duplicado]

Dec 12 2020

Estou usando jquery-ui.js e seu componente datepicker, da seguinte maneira

<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">

  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

  <script>

  $( function() { $( "#datepicker" ).datepicker();
  } );

  </script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>

No entanto, em vez da data de hoje, quero definir um valor inicial para o selecionador de data. (Eu pretendo recuperar uma data de um banco de dados mysql através de php). Como eu posso fazer isso ?

Respostas

KenLee Dec 12 2020 at 17:20

A maneira mais simples é (colocar um valor de data php $ initialdate como seu valor de data inicial no datepicker):

Alterando seus códigos de

 $( function() {
    $( "#datepicker" ).datepicker();
  } );

para

$( function() {
    $( "#datepicker" ).datepicker(); } ); $( "#datepicker" ).datepicker( "setDate", '<?php echo $initialdate; ?>');

Certifique-se de que o formato do seu selecionador de data é o mesmo do seu banco de dados.

Por exemplo, se a data do seu banco de dados for AAAA-MM-DD, então sugiro que você use o seguinte (antes da linha setdate) também (caso contrário, a data inicial não pode ser definida corretamente):

  $( "#datepicker" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );