JSON解析在ExtJS的4

JSON解析在ExtJS的4

问题描述:

我新的ExtJS的4,我现在用JSON来填充组合框,如下,JSON解析在ExtJS的4

JSON:

{ 
   "Patient": [ 
      { 
         "id": 1, 
         "emergencyPhone": "1234567890", 
         "primaryInsuranceId": { 
            "id": 1 
         }, 
         "secondaryInsuranceId": { 
            "id": 2 
         }, 
         "personalInfo": { 
            "id": 2, 
            "firstName": "James", 
            "lastName": "Anderson", 
            "address": { 
               "state": { 
                  "id": "2", 
                  "stateName": "Alaska", 
                  "code": "AK" 
               }, 
               "zipcode": 12345, 
               "country": "USA", 
               "telephone": "1234567890", 
               "alternatePhone": "1234567890", 
               "faxNumber": "1234567890", 
               "email": "[email protected]" 
            }, 
            "gender": "Male", 
            "dob": "2012-04-02", 
            "ssn": 123456789, 
            "race": "race" 
         }, 
         "clearinghouseId": { 
            "id": 2, 
            "name": "ALPHA Clearing House" 
         }, 
         "provider": [] 
      } 
   ] 
} 

代码:

Ext.define('patientList', { 
    extend: 'Ext.data.Model', 
    fields: ['id', 'personalInfo'] 
}); 

var patient = Ext.create('Ext.data.Store', { 
    model: 'patientList', 
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     url: url + '/lochweb/loch/patient/getAll', 
     reader: { 
      type: 'json', 
      root: 'Patient' 
     } 
    } 
}); 

组合框

{ 
    xtype: 'combo', 
    fieldLabel: 'Patient', 
    name: "patientId", 
    id: "patientId", 
    queryMode: 'local', 
    store: patient, 
    displayField: 'personalInfo.firstName', 
    valueField: 'id', 
    emptyText: "Select", 
    editable: false, 
    allowBlank: false 
} 

当我点击组合框,它显示了名字,但选择的是后,它不是在下降显示down.Any帮助

感谢

+0

您的Json对于Combo数据格式不正确。除此之外,我没有在你的Json中找到任何'患者'根。检查这个例子:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.field.ComboBox – Natasha 2012-04-27 11:01:36

+0

感谢评论,我已经编辑了这个问题,如果json是清楚的.any帮助abot hw在组合框中填充Json – user1321824 2012-04-27 12:06:16

+0

嗨娜塔莎,任何帮助填充组合框 – user1321824 2012-04-27 12:30:22

更改模式这样的:

Ext.define('patientList', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     { name: 'myId', mapping: 'personalInfo.id' }, 
     { name: 'myFirstName', mapping: 'personalInfo.firstName' } 
    ] 
}); 

然后改变你的组合这样的:

{ 
    xtype: 'combo', 
    fieldLabel: 'Patient', 
    name: "patientId", 
    id: "patientId", 
    queryMode: 'local', 
    store: patient, 
    displayField: 'myFirstName', // Change This 
    valueField: 'myId',   // Change This 
    emptyText: "Select", 
    editable: false, 
    allowBlank: false 
} 

阅读更多关于MappingConvert configs。

+0

感谢娜塔莎,它的工作原理 – user1321824 2012-04-30 03:43:48

+0

欢迎您。 – Natasha 2012-04-30 16:42:39