Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery Dialog и Datepicker (https://javascript.ru/forum/jquery/1472-jquery-dialog-i-datepicker.html)

Гость 26.07.2008 13:16

jQuery Dialog и Datepicker
 
Уважаемые господа.

Помогите разобраться. Недавно начал изучать библиотеку jQuery и столкнулся с проблемой:

Создаю модальное диалоговое окно (jQuery.ui.Dialog), в которое необходимо внедрить календарь (jQuery.ui.Datepicker). Отдельно окно и календарь создаются и работают, но никак не получается их совместить. Пишу следующий код:


Код
$(document).ready(function(){
    $("#form_jQuery").dialog({
        height:480,
        width:650,
        autoOpen:true,
        modal:true,
        overlay:{opacity: 0.3,background:"gray"},
        title:"Добавление расписания",
        buttons:{"Добавить":function(){exec_form_rasp("addrasp","filter","");},"Отмена":function(){$('#form_jQuery').dialog('close');}},
        open:function(){
            $(document).ready(function(){
                $('#date_nach').datepicker({
                    showOn: 'both', 
                    buttonImageOnly: false, 
                    buttonImage: 'img/cal.gif', 
                    buttonText: 'Календарь', 
                    dateFormat: 'dd/mm/yy'});
                $('#date_okonch').datepicker({
                    showOn: 'both', 
                    buttonImageOnly: false, 
                    buttonImage: 'img/cal.gif', 
                    buttonText: 'Календарь', 
                    dateFormat: 'dd/mm/yy'});
                });
            },
        close:function(){$("#form_jQuery").dialog("destroy");}});
      });


Окошко календаря показывается под диалоговым окном и, к тому же, я его не могу использовать, поскольку оно неактивно (окно модальное)

Помогите решить проблему

Akzhan 26.07.2008 22:35

ну второй раз цепляться на ready, когда документ уже заведомо загружен, бессмысленно :)
open:function(){
                $('#date_nach').datepicker({
                    showOn: 'both', 
                    buttonImageOnly: false, 
                    buttonImage: 'img/cal.gif', 
                    buttonText: 'Календарь', 
                    dateFormat: 'dd/mm/yy'});
                $('#date_okonch').datepicker({
                    showOn: 'both', 
                    buttonImageOnly: false, 
                    buttonImage: 'img/cal.gif', 
                    buttonText: 'Календарь', 
                    dateFormat: 'dd/mm/yy'});
            },

Гость 28.07.2008 16:36

Хорошо, а как привязать эти календари в диалоговое окно? В команде вызова окна надо что-то написать

Гость 28.07.2008 16:39

Извиняюсь. не увидел сначала, что код - это правильный вариант.
Буду проверять. Спасибо

Гость 28.07.2008 16:47

К сожаению, не помогло. Окошко календаря также отображается под диалоговым модальным окном. Может есть еще какие предложения по решению проблемы?

Akzhan 29.07.2008 11:33

А поля #date_nach и #date_okonch точно расположены внутри диалогового окна?.

Также, если выплывающее окно календаря вылезет под диалогом, надо переделать таблицу стилей datepicker - добавить или изменить поле z-index для стиля календарика. Его значение должно быть больше, чем значение z-index для диалогового окна.

Nichloas 29.07.2008 13:03

Поля однозначно внутри диалогового окна. Точнее технология следующая:
1. Создается пустой div под диалоговое окно
2. В созданный div динамически прописывается экранная форма
3. Создается jQuery.dialog на данный div

Соответственно, поля для дат однозначно внутри этого div'а и попадают внутрь диалогового окна.

Akzhan 29.07.2008 13:09

Я бы проверил через Firebug...

скорее всего проблемы с z-index, если речь о попадании под окно именно диалогов календарика.

Nichloas 29.07.2008 13:25

Именно их. Попробую поиграться с z-index

Akzhan 30.07.2008 01:08

Цитата:

Сообщение от Nichloas (Сообщение 4032)
Именно их. Попробую поиграться с z-index

просто поправь таблицу стилей календарика.


Часовой пояс GMT +3, время: 01:24.