Есть таблица и есть текстовые поля для двух значений из таблицы. Как связать таблицу с текстовыми полями?
Спасибо.
Есть таблица и есть текстовые поля для двух значений из таблицы. Как связать таблицу с текстовыми полями?
Спасибо.
Я не понимаю вашего вопроса. Может уточните, или нарисуете?
У меня есть таблица:
<?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 вызова.