Js В Jui Dialog.

Собственно говоря не работает js в диалоге. Вернее сказать работает через раз - 1 раз срабатывает, 2й нет.

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

Итак как вызывается окошко:

1)Есть виджет, у него есть аякс запрос при клике:




function getpopup( event, ul )

{

    var opt = {

            autoOpen: false,

            modal: true,

            width: 550,

            height:550,

            title: 'Applications'

        };       

        $.ajax 

        ({

            type:'post',

            url:'/applications/popup',

            success:function(data){

            $('#id_view').empty();

            $('#id_view').append(data);

            $('#id_view').dialog(opt);

            $('#id_view').dialog('open');

         }

        });

}



  1. Экшн в контроллере собственно для рэндэра грида:



public function actionPopup()

    {

        $dataProvider=new CActiveDataProvider('Applications',array(

            'criteria'=>array(

               'order'=>'sort ASC',    

        )));

        $dataProvider->setPagination(array('pageSize' => $dataProvider->totalItemCount));

        Yii::app()->clientScript->scriptMap['jquery.js'] = false;

        $this->renderPartial('popup',array('apps'=>$dataProvider),false,true);

    }



Итак получаем что js на гриде работает только при 2n+1 клике. Подскажите что я делаю не так, и желательно пример как это сделать правильно и чтобы 100% работало.

может где-то, что-то кешируется?

тут по-моему подобная проблема = http://javascript.ru/forum/jquery/6899-kak-pobedit-kehshirovanie-v-dialoge.html

Дело в том что dialog().remove() убирает id на котором открыли диалог что неочень хорошо.

Попробовал еще close() но результат тот же.

Да и скорее всего проблема не тут. Если честно не знаю даже что и делать, вроде бы на 1.1.13 работало в таком варианте.

а есть ли разница между браузерами?

пробовали в "злобном" ИЕ ?

p.s. сорри - я сам пока не очень в теме, но вдруг наводящие вопросы помогут… :)


Yii::app()->clientScript->scriptMap['jquery.js'] = false;

Вот тут собака зарыта скорее всего. Получается что каждый раз мы грузим и обрабатываем jquery.yiigridview.js. Получается на каждой 2 загрузке конфликт. Если поставить




Yii::app()->clientScript->scriptMap['*.js'] = false;



Отвалим вообще весь js. Вообщем нужно както цеплять проверку загружен ли скрипт или грузить его только при первом запросе.