2015-06-04 63 views
1

我做了一個網頁,其中在HTML,PHP和jQuery。 我的PHP腳本將加載所有數據,其中日期與使用JQuery datepicker的文本輸入中選擇的日期相等。ASK - 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>"; 
} 
?> 
+0

你能在的jsfiddle添加此代碼白衣適當的PHP連接。以便我可以檢查在選擇日期和發送響應時發送的數據是什麼。 – Indra

+0

您需要將值存儲在cookie/localStorage中或將其作爲查詢字符串追加,在頁面加載時讀取並將其設置爲輸入字段。 – lshettyl

+0

或者,如果您的窗體的方法是'POST',那麼你可以這樣做:'$ _ POST [「InputFieldName」]' – lshettyl

回答

1

表單提交重新加載頁面。 因此,您應該在表單提交中發送來自服務器腳本的日期,並將其設置在輸入字段中。 或者您可以使用Ajax

+0

感謝Yash給你的建議。我會嘗試。 – user3725360

相關問題