2013-02-21 3 views
0

Можно ли использовать шаблон следующим образом:Как использовать шаблон в rowexpander плагин - Ext JS 4

 plugins: [{ 
      ptype: 'rowexpander', 
      selectRowOnExpand : false, 
      rowBodyTpl: new Ext.XTemplate(
       '<p>Qusetions: {question}</p><p>', 
       '<tpl for="option">', 
         '<p>{option[0]}</p>', 
        '</tpl></p>' 
       ) 
      }] 

Я не могу видеть ничего. У меня есть этот JSON:

 { 
     "total": 2, 
     "data": [ 
     { 
     "qno":1, 
     "question":"What's Your Fav color", 
     "option":['red','green','blue'] 
     }, 
     { 
     "qno":2, 
     "question":"What's Your coom color", 
     "option":['yellow','red','green','blue'] 
     } 
    ] 
     } 

Модель Файл

Ext.define('AM.model.Question', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     {name: 'question'}, 
     {name: 'option'}, 
     {name: 'images'}, 
     {name: 'qno'} 
]}); 

Я хочу видеть вывод следующим образом:

+ Questions: What is your fav color 

     <radiobutton> Red 
     <radiobutton> Green 
     <radiobutton> Blue 

Am с помощью Ext JS версии 4.1

Заранее спасибо для ваших ответов

ответ

0

При повторении через массив с использованием XTemplate текущий элемент ссылается на {.}. Ваш шаблон должен выглядеть следующим образом:

'<p>Questions: {question}</p>', 
'<p>', 
'<tpl for="option">', 
    '<p>{.}</p>', 
'</tpl>', 
'</p>' 

Однако, это становится немного более сложным, если вы хотите сделать радио группы. XTemplate предоставляет свойство parent для доступа к объектам за пределами текущего контекста. Таким образом, вместо тега <p> в середине ваша группа радиостанций может выглядеть так:

'<tpl for="option">', 
    '<input type="radio" name="qno_{parent.qno}" value="{.}" />{.}<br/>' 
'</tpl>' 
Смежные вопросы