Yii Framework Forum: Отправить Данные В Модальное Окно - Yii Framework Forum

Jump to content

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

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

#1 User is offline   DeSharky 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 01-April 13

Posted 23 April 2013 - 02:54 AM

Есть задача:
У каждой заявки есть кнопка печати, при нажатии которой всплывает окно, в котором должна быть отображена информация о заявке+данные организации, проще говоря внешний вид квитанции о приемке.
Вопрос: Так вот как мне получить хотя бы id заявки, чтобы сформировать запрос к базе?

Attached File(s)


0

#2 User is offline   ORey 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 1,695
  • Joined: 20-April 09
  • Location:Moscow, Russia

Posted 23 April 2013 - 02:57 AM

Окно джаваскриптовое?
Так повесьте хендлер на клик, который будет сначала устанавливать значение хидден-поля, а потом уже показывать окно.
God is real unless declared as integer
0

#3 User is offline   tuschkan 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 122
  • Joined: 20-April 11
  • Location:Kiev, Ukraine

Posted 23 April 2013 - 02:58 AM

View PostDeSharky, on 23 April 2013 - 02:54 AM, said:

Есть задача:
У каждой заявки есть кнопка печати, при нажатии которой всплывает окно, в котором должна быть отображена информация о заявке+данные организации, проще говоря внешний вид квитанции о приемке.
Вопрос: Так вот как мне получить хотя бы id заявки, чтобы сформировать запрос к базе?


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

#4 User is offline   DeSharky 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 01-April 13

Posted 23 April 2013 - 03:01 AM

Можно пример? Окно 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;'),

)
0

#5 User is offline   DeSharky 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 01-April 13

Posted 23 April 2013 - 04:03 AM

Не могу понять - когда пишешь 'url'=>'Yii::app()->createUrl("tickets", array("print" => $data->id))' ид вставляется без проблем.
А когда пишешь 'options'=>array('class'=>$data->id, то ид не вставляется. В чем причина?
0

#6 User is offline   ineersa 

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

Posted 24 April 2013 - 02:19 AM

Могу поделится полезным сниппетом для такого рода задач с 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.
По аналогии можно вытаскивать все что угодно.
0

#7 User is offline   DeSharky 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 01-April 13

Posted 24 April 2013 - 06:29 AM

ineersa, спасибо, буду пробовать
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