Проблемы с отображением выбора даты в MVC 2 - PullRequest
0 голосов
/ 06 июня 2011

Хорошо, поэтому я пытаюсь перейти от необходимости вводить ручную дату и время к использованию jquery для выбора даты и времени.

Я не думал, что это будет слишком сложно.

Мой просмотр:

<%= Html.LabelFor(x => x.DDate) %>       
<%= Html.EditorFor(x => x.DDate) %>
<%= Html.ValidationMessageFor(x => x.DDate)%> <br />

Мой сайт.Мастер (я также использую это: http://trentrichardson.com/examples/timepicker/):

<script type="text/javascript" src="/Content/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/Content/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript" src="/Content/jquery-ui-timepicker-addon.js"></script>
<script  type="text/javascript">
        $('.dp').datetimepicker({
            ampm: true
        }); 
</script>

DateTime.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>  
<%= Html.TextBox("",  String.Format("{0:MM-dd-yyyy}", Model.HasValue ? Model : DateTime.Today), new { @class = "dp"})%>  

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

Однако,когда я нажимаю на текстовое поле, НИЧЕГО не появляется.

У кого-нибудь есть идеи, что я делаю неправильно?

1 Ответ

3 голосов
/ 06 июня 2011

Попробуйте подождать, пока документ будет готов, прежде чем манипулировать им, иначе во время выполнения селектора $('.dp') соответствующие элементы еще не загружены:

<script type="text/javascript">
    $(function() {
        $('.dp').datetimepicker({
            ampm: true
        }); 
    });
</script>

Другая возможность - переместить этот скриптв конце вашего документа (как раз перед закрытием </body>).Таким образом, вам больше не нужно оборачивать его в обработчик document.ready.

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