Отправить Данные В Модальное Окно

Есть задача:

У каждой заявки есть кнопка печати, при нажатии которой всплывает окно, в котором должна быть отображена информация о заявке+данные организации, проще говоря внешний вид квитанции о приемке.

Вопрос: Так вот как мне получить хотя бы id заявки, чтобы сформировать запрос к базе?

Окно джаваскриптовое?

Так повесьте хендлер на клик, который будет сначала устанавливать значение хидден-поля, а потом уже показывать окно.

На кнопку для вызова окна вешайте класс с id или пусть id кнопки = id заявки. По клику передавайте через аякс id заявки в контроллер и оттуда возвращайте данные назад в виде готового html с помощь. RenderPartial и этот html вставляйте в модальное окно.

Можно пример? Окно JS. Я только начинаю углубляться в yii и JS

Код кнопки:

‘print’ => array

(


'label'=>'Печать',   


'url'=>'Yii::app()->createUrl("tickets", array(


    "print" => $data->id


    ))',


'imageUrl'=>Yii::app()->request->baseUrl.'/images/print-icon.gif', 


'options'=>array('onclick' => '$("#print").dialog("open"); return false;'),

)

Не могу понять - когда пишешь ‘url’=>‘Yii::app()->createUrl(“tickets”, array(“print” => $data->id))’ ид вставляется без проблем.

А когда пишешь ‘options’=>array(‘class’=>$data->id, то ид не вставляется. В чем причина?

Могу поделится полезным сниппетом для такого рода задач с cgridview.

Сделайте кнопку приблизительно так :


array(

	'name'=>'print',

	'type'=>'raw',

	'value'=>'$data->getprintbutton()',

	    ),

Затем в модели сделайте метод для возврата кнопки :


public function getprintbutton()

	{

		return CHtml::link('<img src="'.Yii::app()->baseUrl.'/images/print-icon.gif'."/>',Yii::app()->createUrl("tickets"),array(

		'class'=>'print',

		'data-id'   => $this->id,));

        }



Далее делаем javascript сниппет дабы не дописывать каждый раз :




<?php $url = $this->createUrl('ваш url для ajax');

Yii::app()->clientScript->registerScript('initStatus',

    "$('.print').on('click',function() {

        el = $(this);

        $.post ('$url', {id: el.data('id')}

    )});",

    CClientScript::POS_READY

);?>



После этого в POST вы будете иметь id = $data->id для текущей строки вашего cgridview.

По аналогии можно вытаскивать все что угодно.

ineersa, спасибо, буду пробовать