jQuery UI datepicker未在Codeigniter中触发

时间:2015-06-24 01:10:53

标签: jquery datepicker

我正在尝试做什么:

我正在构建一个将在Codeigniter(3.0)中插入mysql数据库的表单,其中一个字段应该是发布日期。我是CI的新手,但之前曾使用过datepicker,并认为它会起作用。

相关代码:

从我的模板标题文件

<html>
<head>
<meta charset="utf-8">
<title>Add a new comic</title>
<link rel="stylesheet" href="http://foo.com/ci/css/newstyle.css" type="text/css" media="screen">
<link rel="stylesheet" href="http://foo.com/ci/css/style.css" type="text/css" media="screen">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
  <script>
  $(document).ready(function() {
    $(function() {
        $('#datepicker').datepicker('option', 'dateFormat', 'yy-mm-dd');
    });
  });
  </script>
</head>

来自我的form.php

<div id="upload">
    <?php 
        echo form_open_multipart('comic/createComic');
        echo form_upload('userfile');
        echo form_input('comic_title', 'Comic Title');
        echo form_input('title_text', 'Hover Test');
    ?>
    <input type="text" id="datepicker" title="publish_date" name="publish_date" value="">
    <?php
        echo form_submit('upload', 'Upload');
        echo form_close();
    ?> 
</div>

来自控制器

function createComic() 
{
    $this->load->model('Image_model');

    if($this->input->post('upload'))
    {
        $this->Image_model->do_upload();
    }

    $data = array(
        'comic_filename' => $this->upload->data('file_name'),
        'comic_title' => $this->input->post('comic_title'),
        'title_text' => $this->input->post('title_text'),
        'publish_date' => $this->input->post('publish_date'),
        );
        $this->db->set('uploaded', 'NOW()', FALSE);

    $this->site_model->add_comic($data);
    $this->index();
}

我有一个图像模型和一个站点模型,只需运行正常工作的插件。我正在获得一个文本字段,我可以手动输入ISO格式的日期,并且插入时没有任何问题。

问题是我根本没有加载UI日期选择器。您必须手动输入日期。

问题:

我在这里缺少什么?我确信有一些我不知道的特质,或者我在语法上犯了一个简单的错误,非常感谢任何帮助。

TL; DR:

无法获取jQuery UI datepicker来加载图形日历,以允许用户在Codeigniter平台上构建的表单中选择日期。请参阅上面的代码,让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:1)

问题在于您为初始化datepicker()

所提供的选项

尝试将其更改为以下内容:

    $(function() {
       $('#datepicker').datepicker({
           dateFormat: "yy-mm-dd"
       });
    });

在初始化日期选择器后设置选项时使用的原始格式。

$('#datepicker').datepicker( "option", "dateFormat", "yy-mm-dd" );