Yii Framework Forum: Js В Jui Dialog. - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Js В Jui Dialog. Rate Topic: -----

#1 User is offline   ineersa 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 284
  • Joined: 15-April 13
  • Location:Ukraine

Posted 29 October 2013 - 05:59 AM

Собственно говоря не работает 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');
         }
        });
}

2) Экшн в контроллере собственно для рэндэра грида:
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% работало.
0

#2 User is offline   styleroom 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 358
  • Joined: 14-January 12
  • Location:Долгопрудный, Россия

Posted 29 October 2013 - 06:04 AM

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

тут по-моему подобная проблема = http://javascript.ru...-v-dialoge.html
I'm sorry for my English...
1

#3 User is offline   ineersa 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 284
  • Joined: 15-April 13
  • Location:Ukraine

Posted 29 October 2013 - 07:22 AM

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

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

#4 User is offline   styleroom 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 358
  • Joined: 14-January 12
  • Location:Долгопрудный, Россия

Posted 29 October 2013 - 07:24 AM

View Postineersa, on 29 October 2013 - 07:22 AM, said:

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

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

а есть ли разница между браузерами?
пробовали в "злобном" ИЕ ?
p.s. сорри - я сам пока не очень в теме, но вдруг наводящие вопросы помогут... :)
I'm sorry for my English...
0

#5 User is offline   ineersa 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 284
  • Joined: 15-April 13
  • Location:Ukraine

Posted 29 October 2013 - 07:40 AM

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

Вот тут собака зарыта скорее всего. Получается что каждый раз мы грузим и обрабатываем jquery.yiigridview.js. Получается на каждой 2 загрузке конфликт. Если поставить
Yii::app()->clientScript->scriptMap['*.js'] = false;

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

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users