数据库中的日期很少。我必须使用jQuery datepicker选择另一个日期。但是限制是,我必须选择仅在数据库中的日期(在datepicker中)并在'alert'中显示该验证日期。这里的问题是在mysql中,日期格式是yyyy-mm-dd,而在datepicker中它是mm-dd-yyyy。我如何验证这两个日期?我已经搜索了很多解决方案,但没有找到任何解决方案。
数据库日期值和日期选择器选择位于同一文件中。 associate.php
echo "<center><table border=2 cellpadding=25 cellspacing=0 width=200 style='border-collapse:collapse;table-layout:fixed;width:210pt'></center>
<tr>
<th> S.No</th>
<th>Date</th>
<th>Event</th>
</tr>";
while($record = mysql_fetch_array($myData)){
echo "<tr>";
echo "<td>" . $record['S.No'] . "</td>";
echo "<td>" . $record['Date'] . "</td>";
echo "<td>" . $record['Event'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "<form id=\"dateform\" name=\"dateform\" action=\"#\" method=\"POST\"><br><br>
<table>
<tr><td>
<b>Select a date <b></td><td><input id=\"datepicker\" name=\"date\"size=\"15\"/></td></tr>
</table>
<br>
<input type=\"submit\" name=\"submit\" value=\"Submit\" />
</form>";
以下是从datepicker中选择日期的代码。
<script>
$(document).ready(function () {
$("#datepicker").datepicker();
$('form#dateform').submit(function(){
var aselectedDate = $('#datepicker').val();
if(aselectedDate !=''){
alert('You have selected ' + aselectedDate);
}
return false;
});
});
</script>
答案 0 :(得分:1)
最简单的解决方案是将Datepicker配置为生成与从数据库中收到的日期格式相同的日期格式,即:
<script>
$(document).ready(function () {
$("#datepicker").datepicker({
dateFormat: "yy-mm-dd"
});
// other code ...
</script>
查看jQuery Datepicker参考,了解如何处理不同日期格式的更多详细信息:
http://api.jqueryui.com/datepicker/
P.S。特别是,请查看日期格式语法:
http://api.jqueryui.com/datepicker/#utility-formatDate
例如,它不支持yyyy
。如果您需要四位数年份,请使用yy
。