2013-08-12 23 views
0

在我的Sencha觸摸應用程序中,我通過從json對象動態創建表單項來填充容器。Sencha觸摸中Webservice的Formfield值

對於一個文本框我用下面的代碼:

Ext.getCmp('mytestpanel').add({ 
         xtype: response.screens[index].screenItems[i].xtype, 
         id:response.screens[index].screenItems[i].name, 
         label: response.screens[index].screenItems[i].title, 
         name: response.screens[index].screenItems[i].name 
         } 
        }); 

使用的JSON:

{ 
"screens": [ 
     { 
      "screenname": "Screen 1", 
      "screenItems": [ 
       {"xtype": "textfield", "title": "Temperature"," name": "textfield1", "value":"service211"}, 
       {"xtype": "button", "title": "Update", "name": "button1"} 
      ] 
     }, 
     { 
      "screenname": "Screen 2", 
      "screenItems": [ 
       {"xtype": "emailfield", "title": "screen2"," name": "textfield2"}, 
       {"xtype": "checkboxfield", "title": "label3", "name": "textfield13"}, 
       {"xtype": "selectfield", "title": "Submit", "name": "button11"} 
      ] 
     } 
] 

}

我需要更新這個文本字段的值使用在json中看到的web服務。「」type「:」textfield「,」title「:」Temperature「,」name「: 「textfield1」,「value」:「someservice211」}

由於值將實時顯示,我該怎麼做?

+0

基本上你問如何更新溫度文本字段值? – Viswa

+0

@Viswa是..... – Kris

回答

2

如何使用商店閱讀json?你可以setInterval來逐步store.load(),然後添加/編輯負載回調動態項目:

proxy: { 
    type: 'ajax', 
    url: 'http://URL', 
    reader: { 
     type: 'json', 
     rootProperty: 'screens' 
    } 
}, 

autoLoad: true, 

listeners: { 
    initialize: function() { 
     var interval = setInterval(function() { 
      Ext.StoreMgr.lookup('myStore').load(); 
     }, 2000); 
    }, 

    load: function(st) { 
     var testPanel = Ext.getCmp('mytestpanel'); 
     Ext.each(st, function(record) { 
      var obj = Ext.getCmp(record.get('id')); 
      if (obj) { 
       if (record.get('value')) obj.setValue(record.get('value')); 
      } else { 
       testPanel.add({ 
        xtype: record.get('xtype'), 
        id: record.get('id'), 
        label: record.get('label'), 
        name: record.get('name'), 
        value: record.get('value') 
       }); 
      } 
     } 
    } 
} 

希望helps-

+0

對不起,遲到的迴應。你提供的答案似乎是適當的。我會更新你的進展。 – Kris