Datepicker не будет работать внутри colorbox - PullRequest
0 голосов
/ 09 апреля 2011

Вот сценарий:
Я хочу применить указатель даты к полю ввода в форме.
При нажатии на ссылку откроется цветное окно, содержащее форму.

Каким-то образом средство выбора даты не 'Это не сработало, поэтому я искал в интернете.
Меня смутило это сообщение DatePicker внутри толстой коробки , где было сделано следующее утверждение: JavaScript / jQuery не работает внутри ColorBox.
Это смутило меня, потому что другие люди, кажется, сработали.

Я покажу код вызова colorbox:

        <script type="text/javascript">
        $(document).ready(function() {
                $(".customer").colorbox(
                {
                  transition:'fade',
                    width:'750',
                    speed:'500',
                    height:'400',
                    iframe:true
                });
        });
        </script>

Colorbox открывается успешно, хотя моя ошибкаконсоль говорит, что} после первого пропущено});Вхождение.

Код для выбора даты:

<script type="text/javascript">$(document).ready(function() {
    $('.datepick').datepicker({
    changeYear:true,
    yearRange:'c-65:c+0',
    changeMonth:true
    });
    $('.datepick').datepicker($.datepicker.regional['nl']);});</script>

Этот код работает где-то еще на моем веб-сайте, где он не находится в палитре цветов.

Что я пробовал:

  1. Я пытался присвоить классу datepick z-индекс 10000 или выше, поскольку colorbox имеет z-индекс 9999 по умолчанию.
  2. Я попробовал функцию oncomplete () для colorbox, но не смог заставить работать colorbox при применении.
  3. Я попытался установить iframe в false в сочетании с двумя предыдущими параметрами.

Мой вопрос (ы):

  1. Возможно ли, чтобы средство выбора даты работало внутри colorbox?
  2. Правильно ли мой код о colorbox?
  3. Как это исправить?!

ОБНОВЛЕНИЕ
Решение: Я сделал глупую ошибку: P ...
И все же я нашел ответы на свой первый вопрос, который может иметь некоторое значение.

  1. Да, есть возможность выбора даты в палитре цветов без использования функции onComplete: ().

Ответы [ 3 ]

2 голосов
/ 09 апреля 2011

Содержит ли загруженный iframe код экземпляра средства выбора даты?

Мое предположение таково:

  • у вас есть якорь с class="customer"
  • этот якорь имеет ссылку, которая указывает на страницу, которую вы хотите показать в colorbox
  • эта страница загружается в iframe (из-за iframe:true)
  • и на этой странице нет вашего кода экземпляра DatePicker

Самое простое, что нужно сделать, это переместить код средства выбора даты в функцию onready страницы customer.

1 голос
/ 09 апреля 2011

Как отмечено в документации ColorBox :

Это часто происходит из-за попытки доступа к элементу до того, как он был загружен в документ, и может быть решен с помощьюперемещение JavaScript в обратный вызов onComplete ColorBox.

Пример (с использованием плагина jQuery Forms):

$('#login_window').colorbox({
    ...
    onComplete:function(){
        $('form#login').ajaxForm();
}});

Вы можете адаптировать пример для загрузки средства выбора даты.

0 голосов
/ 30 ноября 2018

У меня такая же проблема.Я использовал идентификатор в качестве селектора, но colorbox дублирует весь HTML-контент и идентификатор тоже.Поэтому, если я использую $ ('# myid'). DoSomething (), я получаю сообщение об ошибке, потому что «myid» был дублирован.Это вопрос.

Используйте лучший селектор, например $ ('# colorbox .myidasclass'). DoSomething (), чтобы решить эту проблему.Та же проблема с селектором класса без #colorbox в качестве дополнительного селектора.

...