jquery timepicker не работает в phonegap android

Я создаю приложение, в котором я хочу, чтобы приложение datepicker выбирало дату рождения, поэтому для этого я пытался использовать jquery-ui-timepicker-addon.js, но проблема в том, что когда я пытался использовать его статически в затем div показывает селектор даты, но когда я пытаюсь создать его динамически, он не работает, может ли кто-нибудь сказать, почему он действует так, и где я ошибаюсь, вот код для создания динамического селектора даты:

    var creatText = $(document.createElement('input')).attr('type','text');
    creatText.attr('class','datetimepicker');
    creatText.attr('id','birthdate');
    creatText.attr('size','25');
    creatText.attr('placeholder','Birth Date');
    creatText.appendTo('#contentdemo');

вот код для статического создания селектора даты и его нормального функционирования:

<div data-role="content" id="contentDemo">
<div data-role="collapsible-set" data-content-theme="c" style="margin-left: 8px;margin-right: 8px" id="dynamic_actionform">
</div>
  <input class='datetimepicker' placeholder="birth date" size='25'>
</div>

вот пример в github для файлов js, которые я использую введите описание ссылки здесь в логарифме:

logcat09-05 06:37:41.943: D/CordovaLog(2822): Uncaught Error: no such method 'value' for slider widget instance 09-05 06:37:41.943:

E/Web Console(2822): Uncaught Error: no such method 'value' for slider widget instance at file:///android_asset/www/js/jquery-1.7.1.js:552

Заранее спасибо.


person Neerav Shah    schedule 30.08.2013    source источник


Ответы (2)


Я считаю, что вам нужно вызвать .datetimepicker() для нового элемента после того, как вы добавили его в DOM следующим образом:

$('#contentdemo').append('<input type="text" id="birthdate" size="25" placeholder="Birth Date">');

// This should initialize the datepicker functionality
jQuery('#birthdate').datetimepicker();
person Barry Beerman    schedule 30.08.2013
comment
Я пробовал, но в logcat отображается ошибка. Веб-консоль (6452): Uncaught TypeError: не удается прочитать свойство «msie» неопределенного в файле:///android_asset/www/js/jquery-ui.js:8753 - person Neerav Shah; 30.08.2013
comment
Ах хорошо. Похоже, проблема связана с версией jquery-ui, которую вы используете. Старые версии по-прежнему содержат ссылки на устаревшее свойство jQuery.browser. Попробуйте обновиться до jquery-ui 1.10+, чтобы увидеть, решит ли это вашу проблему. - person Barry Beerman; 30.08.2013
comment
Я обновил свой jquery-ui до v1.10.3, знаю, что он показывает эту ошибку в logcat09-05 06:37:41.943: D/CordovaLog(2822): Uncaught Error: нет такого значения метода для экземпляра виджета слайдера 09-05 06:37:41.943: E/веб-консоль (2822): необработанная ошибка: нет такого «значения» метода для экземпляра виджета ползунка в файле:///android_asset/www/js/jquery-1.7.1.js:552 - person Neerav Shah; 05.09.2013

var creatText = $(document.createElement('input')).attr('type', 'text');
creatText.attr('class', 'datetimepicker');
creatText.attr('id', 'birthdate');
creatText.attr('size', '25');
creatText.attr('placeholder', 'Birth Date');
creatText.appendTo('#contentDemo');

$('.datetimepicker').datetimepicker()

Вы написали contentDemo как contentdemo при добавлении.

Пример скрипта

person DGS    schedule 05.09.2013
comment
я не использую jquery-ui.datepicker.js, я использую jquery-ui-timepicker-addon.js, который получает селектор даты, такой как селектор времени Android, в режиме прокрутки, чтобы пользователю было проще выбрать дату рождения. - person Neerav Shah; 05.09.2013
comment
в основном то же самое. Если вы собираетесь использовать сторонние библиотеки, либо свяжите их, либо создайте jsfiddle с их включением. мой вопрос обновлен с помощью jquery-ui-timepicker-addon.js - person DGS; 05.09.2013
comment
если я вызываю функцию datetimepicker, то она дает ошибку в журнале для файла, который создается динамически, но когда я нажимаю на файл, который я создал статически, он показывает селектор даты. - person Neerav Shah; 05.09.2013
comment
посмотри на мою скрипку. Элемент, на котором вызывается datetimepicker(), динамически добавляется и работает. - person DGS; 05.09.2013
comment
Похоже, это не будет работать в Chrome, но работает в Firefox. Попробуйте разместить файл javascript в другом месте или просто используйте его в своем собственном коде, связав его с вашей локальной версией плагина. - person DGS; 05.09.2013
comment
я пытался запустить его в firefox, но все равно проблема с динамическим полем возникает, когда поле создается внутри функции bcz, когда я пытался создать поле при загрузке, он показывает селектор даты, но не когда функция, которую я вызвал после страницы загружается, а затем создается файл. - person Neerav Shah; 05.09.2013
comment
Мой пример скрипки отлично работает в Firefox, и, по-видимому, единственная причина, по которой он не работает в Chrome, заключается в том, что jsfiddle не может получить доступ к javascript плагинов из URL-адреса, который я ему дал. - person DGS; 05.09.2013
comment
Вы проверили ошибку в вопросе bcz, когда я пытаюсь запустить код и нажимаю на текст даты, который выдает эту ошибку. - person Neerav Shah; 05.09.2013