2016-09-11 3 views
0

Я использую bpopup для управления всплывающим окном, и это хорошо работает.Jquery date picker в всплывающем окне

Однако я столкнулся с проблемой, когда хочу добавить datepicker во всплывающее окно.

На моей родительской странице я загружаю jquery-ui, jquery и файл js.

Мой файл JS имеет:

$("#datepicker").datepicker() 

и в моем всплывающем окне я добавил:

<p>Date: <input type="text" id="datepicker"/></p> 

Когда я нажимаю это ничего не происходит .. нет ошибок отображаются в консоли.

Если я переведу этот код для своего родителя, я получаю выбор даты, как ожидалось.

Я пытаюсь понять, почему он не работает в моем всплывающем окне ..

Мой всплывающее окно открывается с:

$("#open").click(function() { 
    $('#pop_up').bPopup({ 
      loadUrl: 'page.php', 
    }); 
    }); 

может кто-нибудь посоветовать, почему выбора даты не работает ?

Благодаря

UPDATE я могу заставить его работать, если я использую:

$("body").on('click', '#datepicker', function(){ 
    $("#datepicker").datepicker(); 
}); 

Но это требует нескольких кликов в поле, чтобы включить, а затем использовать его.

Это связано с тем, что элемент #datepicker недоступен, когда загружается Jquery?

Как мне обойти это?

Благодаря

+0

Есть ли причина, по которой вы не используете тип ввода даты HTML5? https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date – Jaketr00

+0

Я не думал, что он был поддержан IE? – Tom

+0

Я не могу вспомнить, поддерживается ли это или нет, и если это не так, он никогда не будет поддерживаться из-за Edge. Но использование IE снижается (https://www.sitepoint.com/browser-trends-january-2016-12-month-review/). Если вы решите его поддерживать, это ваш выбор, но вы знаете, что этот тип ввода существует и более надежен, чем jQuery. – Jaketr00

ответ

0

Я получил DatePicker работает в моем всплывающем окне с помощью:

$("body").on('focus', '#datepicker', function(){ 
     $(this).datepicker();  
    }); 

Это работает отлично.

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