2016-03-19 3 views
1

Немного новичка здесь, и этот вопрос вызывает у меня головную боль в течение дня. Я использую userfrosting как фреймворк, с обычными файлами twig для веб-страниц.Почему функция datepicker не работает на ветке в пользовательском режиме?

Я пытаюсь включить datepicker (bootstrap-datepicker.js не работал, ни текущая итерация с использованием jquery-ui) в форме на ветке - но независимо от того, что я делаю, t заставить его работать!

Вот основные настройки:

{% block head %} 
    {{ parent() }} 
    <script src="{{site.uri.js}}/jquery-1.11.2.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
    <script src="{{site.uri.js}}/custom.js" ></script> 
{% endblock %} 

{% block content %} 
.... {{boring stuff missed out}} 
<form class="form-inline" role="form"> 
.... {{boring stuff missed out}} 
<div class="form-group row"> 
    <label for="datepicker" class="col-sm-3 form-control-label">Subject Date:</label> 
    <div class="col-sm-6"> 
     <input type="date" class="form-control" id="datepicker" /> 
    </div> 
</div> 
.... {{boring stuff missed out}} 
</form> 
.... {{boring stuff missed out}} 
{% endblock %} 

{% block javascripts %} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#datepicker").datepicker(); 
    }); 
</script> 
{% endblock %} 

Коробка на странице, вы можете ввести дату, в ней и т.д., но ничего не появляется при нажатии на него

(должно быть календарь появляется.)

У кого-нибудь есть идеи? У меня полная потеря. Я пробовал различные версии, локально и (как вы можете видеть, в настоящее время) на CDN, но ничего не работает. Я уверен, что это, вероятно, что-то основное, поскольку я не опытный веб-разработчик или что-то еще, но любые советы или рабочие примеры были бы с благодарностью приняты!

ответ

1

Ух! Facepalm

Ну, после некоторого копания и серьезного рассмотрения выходного инспектора (спасибо CTRL-SHIFT-I!) Это оказывается простой случай загрузки сценария заказа и несколько сценариев загружается.

Я не понимал, что на веточках загружается целая ведра скриптов поверх того, что я прошу загрузить в шаблон, который я создавал. Только после просмотра вывода инспектор для страницы я не видел, что я пытался загрузить две различные версии JQuery и мой собственный сценарий был загружен из строя - я нагружал их здесь:

{% block head %} 
    {{ parent() }} 
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> 
    <script src="{{site.uri.js}}/custom.js" ></script> 
{% endblock %} 

этого блок должны быть зарезервированы для таблиц стилей. Вместо этого я должен загружать их здесь:

{% block page_scripts %} 
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> 
    <script src="{{site.uri.js}}/custom.js"></script> 
{% endblock %} 

... так что они загружены после того как все Bootstrap по умолчанию и userfrosting сценариев.

+0

Создатель UF здесь! Вы также можете загрузить дополнительные ресурсы Javascript через 'PageSchema' в' initialize.php': https://github.com/userfrosting/UserFrosting/blob/master/userfrosting/initialize.php#L210 -L272, что упрощает назначение ресурсов для загрузки для определенных групп страниц, а не для их загрузки по отдельности на каждой странице. – alexw

+1

Hi @alexw - спасибо за комментарий, я рассмотрю это, поскольку это может быть более чистый способ добавьте скрипты, которые мне нужны. Спасибо за UF тоже - сэкономил нам много работы, начав! :) – nockieboy

0

https://jqueryui.com/datepicker/ использует тип = "текст" для поля ввода. Когда я делаю вопрос, кажется, что тип = «дата» по крайней мере ранее вызвал проблемы.

Вкратце: я бы попробовал изменить тип = "date" на type = "text".

+0

Спасибо за ответ. Carl - я изменил тип на «текст», и он ничего не изменил - до сих пор нет ответа при нажатии на поле ввода или значок. :( – nockieboy

+0

Хм. Тогда мне грустно из-за идей на данный момент, но можно ли опубликовать полученный html (с нерелевантным материалом, отредактированным)? Тогда я (или, скорее всего, кто-то еще) может найти то, что –