Плагин Jquery Mobile DateBox работает только при прямой ссылке на страницу - PullRequest
1 голос
/ 10 октября 2011

Я использую плагин DateBox (http://dev.jtsage.com/jQM-DateBox/) для страницы с последней сборкой JqueryMobile, но обнаружил странную ошибку. Когда я открываю свое приложение на index.html и перемещаюсь по страницам на страницу с помощью средства выбора даты, я получаю это - http://cl.ly/19022K40472e3k0D0D2H

Однако, если я перейду прямо на страницу через адресную строку, она будет работать нормально и будет отображаться как следует.

Так что просто интересно, у кого-нибудь еще есть проблемы с этим? Или есть идеи как это исправить?

Также я мог бы добавить, кто-нибудь знает, как я могу показать текущую дату в текстовом поле?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Вам необходимо загрузить файлы в тот файл, к которому в первый раз переходит ваш сайт (предположительно, index.html).Похоже, вы ссылались только на CSS и код плагина на своей странице выбора даты, но в режиме по умолчанию jQM использует навигационную систему на основе хеша ajax, поэтому вам нужно ссылаться на ресурсы таким образом, чтобы они были доступны прямо с get-идем.

0 голосов
/ 10 октября 2011

1) Похоже, проблема в том, что css для datebox загружается некорректно. Загружаете ли вы CSS из datebox в index.html? может быть не загружен. Вы можете проверить, загружен ли css datebox, используя firebug для firefox или встроенный инструмент разработчика в Chrome / Safari (откройте вкладку ресурсов, чтобы увидеть все загруженные ресурсы)

2) Проверьте этот пример - http://jsfiddle.net/BNsPB/. В этом примере я написал код в документе готовым, в вашем случае вам, возможно, придется написать его в pageinit или pagecreate обработчиках событий

После проверки вашего фактического кода, я думаю, что вы должны добавить приведенный выше фрагмент кода в обработчик событий PageShow следующим образом: (Предполагая, что bookingPage является идентификатором страницы)

$("#bookingPage").live( 'pageshow',function(event, ui){
  var today = new Date();
    var todayStr = today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate();
    $('#mydate').trigger('datebox', {'method':'set', 'value':todayStr});
     });
});
...