@EVOSandru6

Как с помощью jquery изменить поведение jquery ui dialog?

Добрый день, использую Yii для разработки, такой вот камень попал в зубы:
Использовал виджет CJuiDialog (генерирует dialog из jquery ui). Для развертывания пользовался статьями:

belyakov.su/yii-ispolzovanie-cjuidialog-dlya-sozda... и loco.ru/materials/321-yii-cjuidialog-dlya-sozdaniy... . . Но там остался нетовеченым(

Сообщение из модалки отправляется, Благодарность за отправку также открывается в таком же модальном окне. Возникла неприятность. При нажатии на крестик в заветном правом верхнем, ничего не происходит, в консоли ошибки нет, просто не закрывается окно. Пробовал в файле java скрипта написать такую команду:

// ссылаюсь на крестик
$('.ui-dialog > .ui-dialog-titlebar > a').click(function(){
alert('123');
$('.ui-widget-overlay, .ui-dialog').css({'display':'none'});
});


Даже если просто alert пишу в функции на событие, то оно не отрабатывает ни на .ui-dialog, ни на его потомков, только если потомок имеет какой то заданым ной id.

Например

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
        'id' => 'mydialog',
        'options' => array(
            'title' => 'Отправить сообщение',
            'autoOpen' => false,
            'modal' => true,
            'resizable'=> false,
            'closeOnEscape' => false,
        ),
    ));


Тут я задал id = 'mydialog' и если навешать событие клика на него, то alert отработает. Пробовал добраться до крестика через parent отталкиваясь от mydialog, но опять событие не отрабатывает, подозреваю, что где-то в библиотеке ui идет какой то фильтр на события с его элементами, действия без события над элементами диалога mfr;t не отрабатываются , 3-й день голову ломаю, помогите люди добрые!
  • Вопрос задан
  • 2383 просмотра
Пригласить эксперта
Ответы на вопрос 1
@EVOSandru6 Автор вопроса
Сделал такую залипуху:

$('#mydialog').click(function(){
        $('#mydialog').parent().attr('id', 'boom');
        $('#mydialog').siblings().attr('id', 'llllllloooollllll');
        $('#mydialog').siblings().children('a').attr('id', 'exit_go');
        $('#exit_go').click(function(){
            $('.ui-widget-overlay, .ui-dialog').css({'display':'none'});
        });
});


Теперь при клике на mydialog крестику присваивается айдишник exit_go, но почему-то данная прекрасная вещь не выполняется без события, помогите пожалуйста!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы