CGridView событие при клике на строку таблицы
CGridView событие при клике на строку таблицы
Доброго времени суток.
Можно ли штатными средствами в CGridView получить событие клика по строке? К примеру, при клике возникает событие, куда передается вся информация о строке (все значения columns и пр.).
Пока что решением вижу тупое навешивание обработчиков кликов и затем их отпарсивание вручную на jquery.
Можно ли штатными средствами в CGridView получить событие клика по строке? К примеру, при клике возникает событие, куда передается вся информация о строке (все значения columns и пр.).
Пока что решением вижу тупое навешивание обработчиков кликов и затем их отпарсивание вручную на jquery.
Re: CGridView событие при клике на строку таблицы
Благодарствую, сам проморгал чего-то...
Re: CGridView событие при клике на строку таблицы
Кстати вопрос в тему.
Я так и не понимаю до сих пор, почему в стандартном CGridView не сделана на мой взгляд уже стандартная функция, по клику на строку открывается запись, так делают практически все и скорее правильно было бы чтобы эта функция отключалась, чем через описанный способ делать перехват и ...
Я так и не понимаю до сих пор, почему в стандартном CGridView не сделана на мой взгляд уже стандартная функция, по клику на строку открывается запись, так делают практически все и скорее правильно было бы чтобы эта функция отключалась, чем через описанный способ делать перехват и ...
Re: CGridView событие при клике на строку таблицы
Доброго времени суток. Подскажите уже несколько дней парюсь. Получил значение id выбранной записи, а дальше как остальные значения выделенной строки получать из CGridView?
Код: Выделить всё
.................
),
'selectionChanged'=>'js:function(id)
{
document.getElementById("id_place").value = $.fn.yiiGridView.getSelection(id);
$("#mydialog").dialog("close");
}'
));
.................
Re: CGridView событие при клике на строку таблицы
Нужно руками через JS\jQuery. Yii не предоставляет информацию через встроенные функции.yuvrik писал(а):Доброго времени суток. Подскажите уже несколько дней парюсь. Получил значение id выбранной записи, а дальше как остальные значения выделенной строки получать из CGridView?
Код: Выделить всё
................. ), 'selectionChanged'=>'js:function(id) { document.getElementById("id_place").value = $.fn.yiiGridView.getSelection(id); $("#mydialog").dialog("close"); }' )); .................
P.S. document.getElementById("id_place").value => $('#id_place').val($.fn.yiiGridView.getSelection(id));
Re: CGridView событие при клике на строку таблицы
Спасибо за поправку...p0rsche писал(а): Нужно руками через JS\jQuery. Yii не предоставляет информацию через встроенные функции.
P.S. document.getElementById("id_place").value => $('#id_place').val($.fn.yiiGridView.getSelection(id));
А не приведете небольшой примерчик как это можно сделать? Всю голову сломал...
Код: Выделить всё
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'place-grid',
'dataProvider'=>$dataProvider,
'filter'=>$model,
'columns'=>array(
//'id',
'location',
'address',
array('name' => 'idCity_name',
'header' => 'Город',
'value' => '$data->idCity->name',
),
),
'selectionChanged'=>'js:function(id)
{
$("#id_place").val($.fn.yiiGridView.getSelection(id));
$("#mydialog").dialog("close");
}'
));
Re: CGridView событие при клике на строку таблицы
У "кликнутой" строки класс добавляется 'tr.selected'.. Используя JQuery перебрать все дочерние td-шки..
...
Re: CGridView событие при клике на строку таблицы
Огромное спасибо! Все получилосьesche писал(а):У "кликнутой" строки класс добавляется 'tr.selected'.. Используя JQuery перебрать все дочерние td-шки..
Код: Выделить всё
'selectionChanged'=>'js:function(id)
{
$("#id_place").val($.fn.yiiGridView.getSelection(id));
var select_val = $(".selected");
$("#place_location").val(select_val.find("td").eq(0).text());
$("#place_address").val(select_val.find("td").eq(1).text()+" ("+select_val.find("td").eq(2).text()+")");
$("#mydialog").dialog("close");
}'