2

如何说服datetimepicker在初始页面加载的输入文本字段中显示其值?bootstrap-datetimepicker:显示输入值

在这种情况下,datepicker文本输入的值属性已设置,但该字段显示为空白。因此,我试着设置'data-date-defaultdate'属性,但在最初的页面加载时,文本字段仍然是空白的。重新加载后,该值将按预期显示。

表格(节选):

<form name="news" method="post" class="form-horizontal"> 
    <div class="form-group"> 
     <label class="col-sm-2 control-label required" for="news_validFrom">Start time</label> 
     <div class="col-sm-8 col-md-6"> 
      <div class="input-group date datetime-picker" id="datetime1"> 
       <input type="text" id="news_validFrom" name="news[validFrom]" required="required" class="form-control" value="2016-07-08T00:00:00+02:00" /> 
       <span class="input-group-addon"> 
        <span class="fa fa-calendar"></span> 
       </span> 

      </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-sm-2 control-label required" for="news_validTo">End date</label> 
     <div class="col-sm-8 col-md-6"> 
      <div class="input-group date date-picker" id="datetime2"> 
       <input type="text" id="news_validTo" name="news[validTo]" required="required" class="form-control" value="2016-06-22T00:00:00+02:00" /> 
       <span class="input-group-addon"> 
        <span class="fa fa-calendar"></span> 
       </span> 

      </div> 
     </div> 
    </div> 
// [...] 
</form> 

脚本:

$(function() { 
    $('#datetime1') 
    .attr('data-date-defaultdate', $('#datetime1 input').attr('value')) 
    .datetimepicker({ 
     format: 'DD MMM YYYY HH:mm', 
     defaultDate: $('#datetime1 input').attr('value'), 
     viewDate: 'true' 
    }); 
    $('#datetime2') 
    .attr('data-date-defaultdate', $('#datetime2 input').attr('value')) 
    .datetimepicker({ 
     format: 'DD MMM YYYY HH:mm', 
     defaultDate: $('#datetime2 input').attr('value') 
    }); 
}); 

任何想法如何使这项工作?

+0

请将您的代码添加到JSFiddle – Vitaly

+0

新的小提琴:https://jsfiddle.net/s2hc3ryn/2/ – Pixelrocker

回答

1

Chnage到:

$(function() { 
    $('#datetime1') 
    .attr('data-date-defaultdate', $('#datetime1 input').val()) 
    .datetimepicker({ 
     format: 'DD MMM YYYY HH:mm', 
     defaultDate: $('#datetime1 input').val(s), 
     viewDate: 'true' 
    }); 
    $('#datetime2') 
    .attr('data-date-defaultdate', $('#datetime2 input').val()) 
    .datetimepicker({ 
     format: 'DD MMM YYYY HH:mm', 
     defaultDate: $('#datetime2 input').val() 
    }); 
}); 
+0

不幸的是,这并不是诀窍。这样,重新加载后输入也是空白的。 – Pixelrocker

0

因为我didn't来对这个问题,我给了自举的DateTimePicker的另一个叉一试的解决方案:smalot/bootstrap-datetimepicker

这一次按预期工作,我没有输入值的问题(该值始终显示在文本字段中)。 我想,问题可能会从给定的日期格式发出(值=“2016-07-0 8T 00:00:00 +02:00”),但我没有完全弄明白。