2010-06-10 62 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