Cgridview Onclick

Есть таблица и есть текстовые поля для двух значений из таблицы. Как связать таблицу с текстовыми полями?

Спасибо.

Я не понимаю вашего вопроса. Может уточните, или нарисуете?

У меня есть таблица:


<?php $this->widget('zii.widgets.grid.CGridView', array(

	'dataProvider' => $arrayDataProvider,

        'htmlOptions'=>array("style"=>'cursor: pointer;'),

        'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('site/viewapp', array('id'=>'')) . "' + $.fn.yiiGridView.getSelection(id);}",


	'columns' => array(

		array(

                    'header' => 'этаж',

                    'name' => 'этаж',

                    'value' => '$row+2',

                      ),

		array(

			'name' => 'поле1',

			'type' => 'raw',

			'value' => 'CHtml::encode($data["Поле1"])'

	              ),

		array(

			'name' => 'поле2',

			'type' => 'raw',

			'value' => 'CHtml::encode($data["Поле2"])'

		      ),

есть форма с текстовыми полями:


<?php echo CHtml::textField('поле1', '1') ?>

                <?php echo CHtml::dropDownList('поле2', 0, 

                       array('1' => '1 часть', '2' => '2 часть')); ?>

Мне нужно по клику на таблице по выбранному ряду заполнить поля этой формы "поле1" и "Поле2".

Жаваскрипт примерно такой, я применяю его там, где это возможно:


  $(document).ready(function(){


      $("#поле1").val('<?php echo Yii::app()->params['поле1']; ?>');

            $("#поле1").val('<?php echo Yii::app()->params['поле2']; ?>');

    });

Почти всё нарыл, а связать не могу.

Очень полезный сниппет для CGridView любезно предоставленный Michael Hartl. Советую оформить его и записать.




<?php $url = $this->createUrl('/user/orders/status');//опишите что нужно сделать (создайте action) и пропишите для него URL.

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

    "

    $('select.status').on('change',function() {//здесь опишите свою функцию, тоесть onclick на ряд таблицы

        el = $(this);

        $.post ('$url', {status: el.val(), id: el.data('id')}//посмотрите что у вас находится в POST. Там будет ид записи по которой кликнули

    )});",

    CClientScript::POS_READY

);?>



Ну а дальше дело техники. Передайте с вашего action параметры для полей. Замените значения полей c помощью javascript в sucess ajax вызова.