Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2011, 23:32
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Ext.list.ListView
Доброго времени суток. У меня возник вопрос по поводу отслеживания выбранного значения. В документации кратко описываются методы getSelectedNodes() и getSelectedRecords(). При их применении я наблюдаю только "[object HTMLDListElement]" в первом случае и, "[object Object]" во втором. Подскажите, какие действия ещё необходимо сделать, чтобы добиться желаемого результата.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2011, 11:05
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

Поставить firebug и использовать console.log()
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2011, 15:08
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Сообщение от VKS Посмотреть сообщение
Поставить firebug и использовать console.log()
У меня есть firebug. Для тестирования в моём ListView есть код:
listeners:{
	click:function(){
		var n = this.getSelectedRecords();
				    		
		console.log(n);
	}
}

В консоль выводится строка:
[Object { phantom=true, id="ext-record-57", more...}]

Когда я на неё нажимаю - строка разворачивается. Первая строка - массив с названием data, в нём находятся две записи - user и userId. Когда я пытаюсь в console.log() вместо n добавить n.data.userId, выскакивает ошибка - n.data is undefined. Подскажите, что я делаю неправильно ?
Ответить с цитированием
  #4 (permalink)  
Старый 25.02.2011, 16:15
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

У вас на выходе массив объктов, соответственно как с массивом и необходимо работать, обращайтесь либо по индексу или через итерацию

listeners:{
	click:function(){
		var n = this.getSelectedRecords();
		Ext.each(n, function (r) {
                   console.log(r);
                });
	}
}

Последний раз редактировалось VKS, 25.02.2011 в 16:21.
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2011, 16:30
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Сообщение от VKS Посмотреть сообщение
У вас на выходе массив объктов, соответственно как с массивом и необходимо работать, обращайтесь либо по индексу или через итерацию

listeners:{
	click:function(){
		var n = this.getSelectedRecords();
		Ext.each(n, function (r) {
                   console.log(r);
                });
	}
}
Спасибо за помощь. У меня получилось самому найти решение. Вот его код:
listeners:{
	click:function(DataView, index, node, e){
		var sValue = this.myListView.getRecord(node);

         }, scope: this
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск