无法运行datetimepicker

时间:2018-12-07 21:45:23

标签: jquery cakephp-2.0 tempus-dominus-datetimepicker

我正在为我的Cakephp 2.9项目使用tempusdominus datetimepicker,但无法使其运行。我正在使用cakephp FormHelper,因此在我的意见中使用:

<?php echo $this->Form->input('start',array('class' => 'form-control','label' => 'Start','type' => 'text'));?>

哪个生成:

<input name="data[Event][start]" class="form-control" type="text" value="2018-12-07 02:52:00" id="EventStart" required="required">

使用type = text时,我生成一个简单的输入,而不是使用日期或日期时间字段时通常生成的3/5选择,然后调用javascript:

$('#EventStart').datetimepicker({format: 'YYYY-MM-DD hh:mm:00'});

通常这会将简单的文本字段转换为datetimepicker。但是,它不起作用。

在我的项目的其他视图中,我使用其他旧的datepicker也具有相同的方法,并且效果很好,为什么不在这里?

此视图可能与插件中的该视图有关吗?

我将此组件的js和css链接到视图顶部,如下所示:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />

怎么了?

1 个答案:

答案 0 :(得分:0)

尝试在您的代码中提供ID:

旧代码:

public static void RemoveDataLabel(this ExcelBarChart chart, int serieNumber, int objectNumber)
{
    var chartXml = chart.ChartXml;

    var nsa = chart.WorkSheet.Drawings.NameSpaceManager.LookupNamespace("a");
    var nsuri = chartXml.DocumentElement.NamespaceURI;

    var nsm = new XmlNamespaceManager(chartXml.NameTable);
    nsm.AddNamespace("a", nsa);
    nsm.AddNamespace("c", nsuri);

    var dLbls = chart.ChartXml.SelectSingleNode(@"c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser[c:idx[@val='" + serieNumber + "']]/c:dLbls", nsm);

    var dLbl = chartXml.CreateNode(XmlNodeType.Element, "dLbl", nsuri);

    var idx = chartXml.CreateNode(XmlNodeType.Element, "idx", nsuri);
    var valueIdx = chartXml.CreateAttribute("val", nsuri);
    valueIdx.Value = objectNumber.ToString();
    idx.Attributes.Append(valueIdx);
    dLbl.AppendChild(idx);

    var delete = chartXml.CreateNode(XmlNodeType.Element, "delete", nsuri);
    var valueDelete = chartXml.CreateAttribute("val", nsuri);
    valueDelete.Value = "1";
    delete.Attributes.Append(valueDelete);
    dLbl.AppendChild(delete);

    dLbls.AppendChild(dLbl);
}

更新代码:

<?php echo $this->Form->input('start',array('class' => 'form-control','label' => 'Start','type' => 'text'));?>

并将datetimepicker初始化为:

<?php echo $this->Form->input('start',array('class' => 'form-control','label' => 'Start','type' => 'text','id' => 'EventStart'));?>