我有一个字段,我已经实现了jQuery Datepicker,但如果我在该字段上指定一个值,则会在chrome的开发人员工具中显示...
但它没有显示在前端。
我知道我们可以使用datepicker选项setDate
设置这样的默认日期:
$( ".datepicker" ).datepicker("setDate", '29-10-2016');
但是日期来自数据库而我无法对其进行硬编码...所以有什么方法可以添加一个值,它会显示在前端,除非用户更改并设置另一个日期?
<input type="text" name="date" id="date" class="datepicker" value="25-10-2016">
答案 0 :(得分:1)
发生此问题是因为 javascript 需要以“yyyy-MM-dd”格式输入日期,无论您使用何种格式来显示值。
所以你的代码应该是这样的:
<input type="text" name="date" id="date" class="datepicker" value="2016-10-25">
或
<input type="text" name="date" id="date" class="datepicker" value="<?php echo date_format($date,"Y-m-d"); ?>">
答案 1 :(得分:0)
我找到了一种方法,但仍然没有感觉到它的正确方法,但是现在这对我来说会有所帮助。
我发布此答案以帮助其他人,并会等待并看到其他人为此问题提出最佳,最有效的解决方案。
因为我正在使用PHP所以我只是将它放在我的页面上以设置该字段的日期。如果我的页面中有更多日期字段,我可以添加更多行...
<script>
$(function(){
$('#date').datepicker('setDate', '<?php echo $date; ?>');
});
</script>
答案 2 :(得分:0)
如果你没有从$('#date')获得价值.val()那么后端有问题,日期不是来自后端。如果输入字段中有值,如
<input type="text" name="date" id="date" class="datepicker" value="25-10-2016">
然后你可以使用下面的代码。
$(function(){
$( ".datepicker" ).datepicker({dateFormat: "dd-mm-yy"} );
$( ".datepicker" ).datepicker("setDate",$('#date').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<input type="text" name="date" id="date" class="datepicker" value="25-10-2016">