2010-06-10 60 views
1

请帮我解决这个问题。我是extJs的新手,需要一点帮助。 我有这样的代码extJs Json Reader

Ext.onReady(function() { 
var datesStore = new Ext.data.JsonStore({ 
    start : 'StartTableDate', 
    end : 'FinishTableDate', 
      autoLoad : true, 
      proxy : new Ext.data.HttpProxy({ 
       url : 'dates.json', 
       method:'GET' 
      }), 
      fields : [ 
       // 2 mandatory fields 
       {name:'StartTableDate'}, 
       {name:'FinishTableDate'} 
      ] 
     }); 

// i want to pass to variable start si end the values from JSON 
var start = 'StartTableDate'; 
var end = 'FinishTableDate'; 
+0

那么究竟是什么问题? – 2010-06-10 23:46:42

回答

2

如果我理解正确的话,你想从JsonStore的第一条记录获取数值并赋值给变量。如果是这样的话,那么我认为你想要一个事件处理程序:

var datesStore = new Ext.data.JsonStore({ 
      proxy : new Ext.data.HttpProxy({ 
       url : 'dates.json', 
       method:'GET' 
      }), 
      fields : ['StartTableDate','EndTableDate'] 
     }); 
datesStore.on('load',function(dataStore,records,options) { 
    if (records.length > 0) { 
     var start = records[0].get('StartTableDate'); 
     var end = records[0].get('FinishTableDate'); 
    } 
},this); 
+0

好的,这是一个很好的答案......但我有一个愚蠢的问题。 你的代码后,如果我写 Ext.MessageBox.alert('Value1',开始); 它显示一个空值。我怎样才能得到值的开始和结束? 谢谢 – tinti 2010-06-11 05:14:41

+0

事件处理程序之后还是内部的警报?它需要在里面。尝试在事件处理函数内的Firebug中突出显示“记录”的值。 – 2010-06-11 11:53:29

+0

警报在事件处理程序之外。所以你说开始和结束变量只在处理程序中有非空值? 我想使用这个处理程序以外的值...它有可能吗? 谢谢 – tinti 2010-06-11 12:11:04