2015-08-26 3 views
0

Использование ниже JSON строки, которые я использую для визуализации додзё TreeGrid на моем приложении XPages:Dijit Дерево OnClick событие визуализации неопределенную

var data= {identifier: 'name', 
label: 'continent', 
items: [ 
    {"name": "Africa", "field": "continent", "children": "[ 
      { "name":"Egypt", "field":"country" }, 
      { "name":"Kenya", "field":"country", "children":"[ 
       { "name":"Nairobi", "field":"city" }, 
       { "name":"Mombasa", "field":"city" } ]" 
      ]}, 
      { "name":"Sudan", "field":"country", "children":"[ 
       { "name":'Khartoum', "field":"city" }]" 
      }, 
     { "name":'Asia', "field":"continent", "children":"[ 
      { "name":"China", "field":"country" }, 
      { "name":"India", "field":"country"}, 
      { "name":"Russia", "field":"country" }, 
      { "name":"Mongolia", "field":"country" } ]" 
     } 

    } 
]} 

я стараюсь, чтобы создать событие OnClick, каждый раз, когда я clcik на узле я получил предупреждение Выполнение узла undefined Как получить значение actaull?

var store= new dojo.data.ItemFileReadStore({data: data}); 
var model = new dijit.tree.ForestStoreModel({ 

    store: store, 
    query: {field:"continent"}, 
    labelAttr :"name" 
    rootId: 'id', 
    rootLabel: 'continent', 
    childrenAttrs: ['children'] 
}); 

var grid = new dojox.grid.TreeGrid({ 
    treeModel: model, 
    showRoot: true, 
    openOnDblClick:true,  
    onClick : function(item, node, evt){  
    var id=store.getValue(item,"name"); 
    alert("Execute of node " + id) 

} 

}, 'treeGrid'); 
grid.startup(); 

ответ

0

Я хотел бы предложить проверить, что store когда событие OnClick срабатывает. Помните, что событие onclick будет прикреплено как клиентский JavaScript к каждому элементу. Я подозреваю, что он не будет работать в контексте, где вы его пишете, но является дискретной функцией. Таким образом, он имеет доступ только к переменным, переданным в функцию - item, node и evt - и не будет иметь доступа к переменным, объявленным вне области действия функции, например. магазин.

Возможно, вам удастся перейти от переменных item или node к хранилищу данных.

+0

Теперь я получаю товар не определен –

+0

Все, что я могу предложить, - это отладка JavaScript, хотя это не та область, в которой у меня много опыта, поэтому я не уверен, что ожидаемое поведение зависит от того, какой элемент в дереве щелкнул , –

Смежные вопросы