jQuery datepicker字段值未显示

时间:2016-10-29 08:12:29

标签: javascript jquery html jquery-ui datepicker

我有一个字段,我已经实现了jQuery Datepicker,但如果我在该字段上指定一个值,则会在chrome的开发人员工具中显示...

enter image description here

但它没有显示在前端。

我知道我们可以使用datepicker选项setDate设置这样的默认日期:

$( ".datepicker" ).datepicker("setDate", '29-10-2016');

但是日期来自数据库而我无法对其进行硬编码...所以有什么方法可以添加一个值,它会显示在前端,除非用户更改并设置另一个日期?

<input type="text" name="date" id="date" class="datepicker" value="25-10-2016">

3 个答案:

答案 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">