JavaScript/jQuery не работает с шаблонами Editor/Display, загруженными с помощью Ajax

Я создал шаблоны редактора и отображения для всего нижестоящего объекта.

Теперь одно из текстовых полей внутренних объектов должно быть средством выбора даты.

Дело в том, что он загружается после первоначальной загрузки с помощью Ajax, а включенные скрипты не работают.

Я попытался включить следующий скрипт в нижнюю часть шаблона, скрипт отрисовывается, но ничего не делает:

@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquerytimepicker")

<script type="text/javascript">
  alert('dddddddddddddddddddddddddd');
  $('.time-picker').timepicker();
</script>

В приведенном выше коде я также добавил фиктивное предупреждение, просто чтобы доказать, что скрипт не работает, что значительно упрощает вопрос: «Как запускать скрипты из шаблонов и частичных представлений?».

Я попытался включить сценарии в определение раздела на внешней странице, но это не сработало, поскольку шаблоны и частичное представление не могут включать разделы по дизайну (Прочитать это).


person Shimmy Weitzhandler    schedule 03.05.2013    source источник


Ответы (1)


это не работает, потому что js, который прикрепляет timepicker к html, работает в document.ready, но контент, загруженный через ajax, загружается после document.ready

поэтому вам нужно вызвать метод, который снова прикрепляет timepicker после завершения запроса ajax

вы можете попробовать это:

$(document).ajaxComplete(function(event, xhr, settings) {
    alert('an ajax request completed');
    $('.time-picker').timepicker();
});
person Omu    schedule 03.05.2013