jquery datepicker -在文本输入中保留选定的日期


ASK - jquery datepicker - keep selected date in text input

我用html, php和jquery制作了一个页面。我的php脚本将加载所有数据,其中日期等于使用JQuery日期拾取器在文本输入中选择的日期。

我的问题是,当我选择日期选择器的日期,然后页面将加载数据,文本输入在日期选择器是空白的(没有文本或日期)。

那么如何在文本输入中保持所选日期呢?

  <link rel="stylesheet" href="/resources/demos/style.css">

$(function() {
    $("#datepicker").datepicker({dateFormat: 'yy-mm-dd'});
});
$(document).ready(function() {
    $('#datepicker').change(function() {
        $('#calendar').submit();
    });
});

我需要一些建议来解决这个问题。所以谢谢你的帮助。如果我的话题和别人的相似,我也想道歉。

谢谢你的帮助。

这是我的代码脚本

<center>
<form id="calendar" action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
<div id="datepicker_start"></div>
<input type="hidden" id="datepicker" name="datepicker">
</form>
</center> 

<?php
$host = "localhost";
$dbname = "dbname";
$username = "root";
$password = "";
try {
 $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $pe) {
 die("Could not connect to the database $dbname :" . $pe->getMessage());
}
if(isset($_GET["datepicker"])){
$datepicker = $_GET["datepicker"];
$datepicker2 = date('d-m-Y', strtotime($datepicker));
}else{
$datepicker = date('Y-m-d');
$datepicker2 = date('d-m-Y', strtotime($datepicker));
} 
 $stmt = $conn->prepare("my query");
 $stmt->bindParam(':date', $datepicker);
 $stmt->execute();
 $result = $stmt->fetchall();
 if (empty($result)) {
     echo "<center><h3>.:: Schedule <i>". $datepicker2 ." ::.</i></h1></center>";
     echo "<center><h1>.::No Data::.</h1></center>";
 }else{ 
     echo "<center><h3>.:: Schedule <i>". $datepicker2 ." ::.</i></h1></center>";
     echo 
    "<table>
    <tr>
    <th>Data 1</th>
    <th>Data 2</th>
    <th>Data 3</th>
    <th>Data 4</th>
    <th>Data 5</th>
    <th>Data 6</th>
    <th>Data 7</th>
    <th>Data 8</th>
    <th>Data 9</th>
    </tr>"
    ;
    foreach($result as $row)
    {
  echo "<tr>";
  echo "<td>" . $row['data 1'] . "</td>";
  echo "<td>" . $row['data 2'] . "</td>";
  echo "<td>" . $row['data 3'] . "</td>";
  echo "<td>" . $row['data 4'] . "</td>";
  echo "<td>" . $row['data 5'] . "</td>";  
  echo "<td>" . $row['data 6'] . "</td>";
  echo "<td>" . $row['data 7'] . "</td>";
  echo "<td>" . $row['data 8'] . "</td>";
  echo "<td>" . $row['data 9'] . "</td>";
}
  echo "</tr>";
  echo "</table>";
}
?>

Form Submit重新加载页面。因此,您应该在表单提交时发送来自服务器的Date脚本,并将其设置在输入字段中。或者可以使用ajax