2010-05-26 3 views
0

Мне нужно поле, которое отображает datepicker. Я последовал примеру, приведенному в документации JQuery UI, и мне не удалось заставить его работать. Мой HTML, где у меня есть текстовое поле:Я не могу получить datepicker для работы

<div class="editor-field"> 
       <input type = "text" name = "DatePublished" id = "Published" /> 
       <%= Html.ValidationMessage("DatePublished" ,"*") %> 
      </div> 

Этот HTML в частичном виде, позволяет называть его pv.ascx, и это называется на главной странице в окне модального:

<div id = "ModalBox"> 
       <% Html.RenderAction("pv", "Example"); %> 
      </div> 

дело в том, что я пытаюсь позвонить в любое время создания DatePicker я вхожу на главной странице, и я делаю это в моем яваскрипте app.js файла:

$().ready(function() { 

    var place = window.location.pathname; 
    var placesplit = place.split("/"); 
    //Depending on the location we are on, we execute different subroutines 
    $('#Published').datepicker(); 

}); 

Но ничего не происходит, когда я сосредотачиваюсь на текстовом поле , Что не так? Может быть, из-за частичного просмотра это не работает?

Спасибо всем, vikitor

EDIT: Я обновил JS, так что это показывает, что я добавил прямо сейчас. Это очень странно, но $ ('# Published'). Datepicker(); не генерирует ошибку на Firebug, хотя на других страницах нет такого текстового поля. Как такое могло произойти? Я также пробовал использовать хром-отладчик, а также никаких ошибок, он выглядит так, как он сразу игнорирует этот метод. Тогда мне приходит в голову глупый вопрос, не нужно ли мне ссылаться в моей site.master на какую-то библиотеку datepicker.js? Поскольку я пробовал то, что вы сказали мне, и метод существует, это только то, что он ничего не делает. Странно, не так ли?

EDIT2: Я смотрел вокруг и обнаружил, что существует проблема с использованием datepickers с модальными диалогами .... Я обнаружил, что с:

1. Add this to the stylesheet 

#ui-datepicker_div, .ui-datepicker { z-index: 1000; /* must be > than 
popup editor (950) */ } 

2. Modify the attribute of the dialog zIndex to 1: 

$('#myDialog').dialog({ 
         title: 'Datepicker on Dialog', 
         zIndex: 1 
       }); 

Но до сих пор она не работает для меня ....

+0

Включен ли он в обработчик событий 'document.ready', например:' $ (function() {$ ('# Published'). Datepicker();}); '? –

+0

Да, это завернуто в обработчик события document.ready, поэтому я не понимаю, что кажется настолько простым, что это не так. – vikitor

+0

Можете ли вы написать небольшой «предупреждающий (« готовый ») код в готовом обратном вызове? возможно, готовый не стреляет – cem

ответ

1

jQuery будет работать нормально, будет ли он вызываться с частичного просмотра или обычного вида - все это выведено как текст в конце.

Пробежав список идей по устранению неполадок:

1) Является ли Jquery правильно ссылаться на страницу, которая будет показывать это текстовое поле?

2) Правильно ли указан ваш файл app.js?

3) Является ли javascript-файл jQuery UI правильно ссылкой на странице? Вы можете проверить это, предупредив об этом: alert($.fn.datepicker)

4) Все ли CSS jQuery UI и изображения в соответствующих местах, или вам нужно обновить файл CSS с соответствующими URL-адресами, чтобы найти изображения?

5) У вас есть ошибки Javascript, сообщаемые браузером?

6) Является ли звонок datepicker происходящим внутри события .ready() или где-то еще?

+0

На странице jquery правильно указаны ссылки, как это указано на странице сайта.master. поэтому 1, 2, 3 отображает функцию datepicker, поэтому я думаю, что она работает. 4 работает, потому что я использую его в модальном поле, и он работает. У меня есть firebug, и он не сообщает о какой-либо ошибке. И да, это вызвано из метода .ready() – vikitor

1

Пожалуйста, проверьте

  1. если библиотека JQuery и JQuery UI ссылаются правильно
  2. убедитесь, что $('#Published').datepicker(); находится внутри

    JQuery (документ) .ready (функция() {} ) ;

  3. Правильно ли указан ваш файл app.js?

+0

да, все, что сделано, я отредактировал сообщение, чтобы показать, как я это делаю. Все еще не повезло – vikitor

Смежные вопросы