Попытка отобразить календарь с помощью jquery ui - PullRequest
0 голосов
/ 25 ноября 2011

Я использую каркасный кодировщик и пытаюсь использовать jquery для отображения и предоставления пользователю возможности выбрать период времени, в который он хотел бы выполнить предварительный поиск. У меня отображаются дата и текстовое поле, но когда я щелкаю по текстовому полю, у меня нет календаря для выбора даты. Это мой взгляд:

<html>
<head>
<script type="text/javascript" src="<?php echo $jquery?>"></script>          
<script type="text/javascript">
$(function() {
    $( "#datepicker" ).ui-datepicker();
});

</script>
</head>
<body>
<div class="demo">

<p>Date: <input id="datepicker" type="text"></p>

</div><!-- End demo -->



<div style="display: none;" class="demo-description">
<p>The datepicker is tied to a standard form input field.  Focus on the input (click, or use the tab key) to open an interactive calendar in a small overlay.  Choose a date, click elsewhere on the page (blur the input), or hit the Esc key to close. If a date is chosen, feedback is shown as the input's value.</p>
</div><!-- End demo-description -->

<a href="">www.msn.ca</a>
<?php echo form_open('search/submit'); ?>
</body>
</html>

Он взят из примера кода: http://jqueryui.com/demos/datepicker/ К вашему сведению, я использую jQuery UI 1.8.16 Не уверен, что здесь не так. Если кто-то считает контроллер соответствующим, то вот он:

<?php
class calendarController extends CI_Controller{

    public function index()
    {
        $this->load->helper('url');
        $data['jquery'] = base_url("jquery.js");
        $this->load->view("jqueryView", $data);
    }
}
?>

Ответы [ 3 ]

1 голос
/ 25 ноября 2011

Я не вижу ссылок на файлы jQuery JS и CSS на вашей странице.Попробуйте что-то вроде этого:

<link href="Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.7.min.js" type="text/javascript"></script>    
<script src="Scripts/jquery-ui-1.8.16.min.js" type="text/javascript"></script>

Вы можете разместить их в любом месте на своей странице.Лучше в конце, чтобы ваши страницы показывались быстрее.Используйте функцию datepicker () внутри функции загрузки jQuery, как в вашем коде, чтобы убедиться, что ничего не сломано

0 голосов
/ 25 ноября 2011

Вы неправильно строите свой URL.

Должно быть:

$data['jquery'] = base_url().'jquery.js';

, что, на ваш взгляд, дает: http://www.yoursite.com/jquery.js.

У меня есть некоторые сомнения в истинной истинной позиции этого сценария.Измените его в соответствии со структурой вашей папки, просто имейте в виду, что base_url() возвращает ваш URL-адрес следующим образом, с косой чертой:

http://www.yoursite.com/

Кроме того, вы не loadingjQuery UI, так что добавьте это тоже самое (так же, как и выше)

Другое дело, у вашего ввода отсутствует атрибут name, он вам нужен на тот случай, если вы хотите, чтобы он был получен php.И это за пределами формы, поэтому не будет работать.Это всего лишь примечание, может быть, вы не хотите использовать его таким образом, но на всякий случай ...

0 голосов
/ 25 ноября 2011

Разве вы не должны поместить инициализацию datepicker в обработчик событий jquery ready?

Примерно так:

$(document).ready(function(){

   $( "#datepicker" ).datepicker();

 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...