2

我有formpanel一个文本字段

         {
            xtype: 'textfield',
            name: name,
            listeners: {
                change: function( field, newValue, oldValue, eOpts ){
                    alert(newValue) // [object Object],[object Object],[object Object]
                }
            }
         }

form.load({...});用来加载值textfield

这是我的json

{
 "success":true,
  "data":{
          "name":[
                 {"dis":3,"val":0},
                 {"dis":2,"val":1},
                 {"dis":1,"val":2}
           ]
   }
}

我如何阅读disval发挥change作用。我alert(newValue)看起来像 [object Object],[object Object],[object Object]

编辑

  1. 但我尝试alert(newValue[0]);的价值是[.
  2. 我打印newValue类似alert(typeof newValue);结果的类型string,我尝试将其转换为 json

var json = eval("(" + newValue + ")");

但我得到错误

SyntaxError: missing ] after element list
([object Object],[object Object],[object Object])
4

2 回答 2

0

您可以使用以下方法将 JSON 字符串解析为 JavaScript 对象

var json = Ext.decode(jsonString);

然后您可以这样访问成员:

console.log(json.success);

于 2013-10-13T16:16:51.813 回答
0

我找到了解决方案。我的 json 必须看起来像

{
 "success":true,
  "data":{
          "name":[
                 {\"dis\":3,\"val\":0},
                 {\"dis\":2,\"val\":1},
                 {\"dis\":1,\"val\":2}
           ]
   }
}

之后使用Ext.decode(newValue);:)

于 2013-10-13T16:29:29.393 回答