2011-04-25 53 views
0

好吧,我是ExtJS的新手,我正在构建一个程序,它具有列在网格中的“输入”,而在我的数据库中,这些输入可以链接到“症状”。在ExtJS中,如何列出字段集中JSON数据的多个返回值?

我正在尝试创建一个函数,该函数将采用输入的id并从数据库中获取与症状相关的所有症状,并将它们列在字段集中。

当我点击即只链接到一个症状输入,但如果输入连接到一个以上的症状,它工作正常,那么错误说..“无效属性ID”

这是我的功能。

function listSymptoms(inputID){ 
    Ext.Ajax.request({ 
     url: "../../inc/project4.php?list=symptoms", 
     reader: new (Ext.data.JsonReader)({ 
      root: "symptoms", 
      inputid: "id" 
     }), 
     params: { 
      inputid: inputID 
     }, 
     method: "POST", 
     success: function (f, a){ 
      var jsonData = Ext.util.JSON.decode(f.responseText); 
      symptomsFieldSet.body.update(jsonData.data.name); 
     }, 
     failure: function (f,a){ 
      Ext.Msg.alert('There was a problem opening your message.'); 
     } 
    }); 
} 

当用户点击网格内部的某个输入时,我有输入的函数的inputID。

我相信,我的问题有事情做这一行..

symptomsFieldSet.body.update(jsonData.data.name); 

我只是难倒就如何处理这个问题。我是否需要像创建网格一样创建数据存储?还是有更简单的方法来做到这一点?

任何帮助表示赞赏!提前致谢。

+0

当你说'将它们添加到字段集'时,你是什么意思?你能提供某种截图吗? – NT3RP 2011-04-26 00:32:04

+0

你正在做ICD9或ICD10的东西不是你;-) – 2011-04-26 00:56:58

回答

0

我认为你需要重新思考你的JSON响应对象的结构。您可以将您的JSON响应发送给您的请求。如果您使用Ext.util.Ajax调用表单的instad,则需要使用util方法Ext.util.JSON.decode()来解码此JSON响应字符串。检查出API Documentation

{ 
    success: true, 
    msg: {text: 'this can be used for error message handling' }, 
    data : [ 
      {id:1, 
      chiefComplaint: 'head hurts', 
      symptoms: [ 
       {symptomID: '740.1', text: 'Headache'}, 
       {symptomID: '12352135'. text: 'and so on'} 
      } 
     ] 
    ] 
} 
相关问题