Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Для события onCLick получить индекс строки и объект грида. (https://javascript.ru/forum/extjs/4583-dlya-sobytiya-onclick-poluchit-indeks-stroki-i-obekt-grida.html)

progi2007 05.08.2009 10:53

Для события onCLick получить индекс строки и объект грида.
 
Есть грид, в строках у меня есть поле действие где у меня для каждой строки по два действия. Например: (<a href="#">править</a> |
<a href="#">удалить</a>).
Сейчас я отлавливаю события клика на строке и совершаю определенное действия, и все работало пока у меня было только одно действие, теперь их два. Я знаю, что сделал не правильно, просто событие rowclick мне отлично подошло, так как я получаю и грид и индекс строки и дальше оперирую ими.
Хочу повесить обработчик на ссылки, но не знаю, как там получить индекс строки на которой кликнули и объект грида для совершения манипуляций
var row = g.store.getAt(index);
					                
					                var idLink = row.get('id');
					                Ext.Ajax.request({
                                        url: urlRejectAction,
                                        callback: function (options, success, response) {
                                            responseObj = Ext.util.JSON.decode(response.responseText);
                                            if (responseObj.success) {
                                                row.set('status', 'отклонена');
                                                row.set('action', '');
                                                row.commit();
                                            } else {
                                                Ext.MessageBox.show({
                                                   title: 'Системное сообщение',
                                                   msg: 'Ошибка закрытия виджета.',
                                                   buttons: Ext.MessageBox.OK,
                                                   icon: Ext.MessageBox.ERROR
                                               });
                                            }
                                        },
                                        params: {id: idLink}
                                   });

Kolyaj 05.08.2009 11:02

Выставляйте ссылкам классы, а в обработчике проверяйте по этому классу, по какой ссылке кликнули.

progi2007 05.08.2009 11:15

Цитата:

Сообщение от Kolyaj (Сообщение 26010)
Выставляйте ссылкам классы, а в обработчике проверяйте по этому классу, по какой ссылке кликнули.

А можно подробнее, типа такого варианта я и хотел, но в rowclick не могу понять как определить где именно кликнули ведь идет как бы перехват клика по строке грида, а мне надо запустить действие по клику на ссылке "править", запутался немного...

rowclick: function(g, index, ev)

просматривал все свойства параметров которые получает метод, но что то не увидел того которое подойдет.

progi2007 05.08.2009 11:22

Вроде смог решить alert(ev.target); объект по которому совершился клик, думаю подойдет мне. Хотя конечно свое решение с событием rowclick не считаю верным.

Kolyaj 05.08.2009 11:31

Вполне верное.


Часовой пояс GMT +3, время: 03:22.