当页面jquery调用java方法,然后返回如下json对象:
[{treatFrameSeq: "2", kbn: "1", date: "8_10_2010", treatPeriod: "1", dTreatFrameList: [{ irradRound: "16", protocolName: "aa"}, {irradRound: "11",  protocolName: "bb"}]}, { treatFrameSeq: "3", kbn: "1", date: "8_11_2010", treatPeriod: "1", dTreatFrameList: [{irradRound: "16", protocolName: "cc",}]}];还有,我想把其中的dTreatFrameList先保存到页面的一个属性,有需要再取得dTreatFrameList里面的键值,不知可不可以,要怎样才行。因为设置属性attr只能是String类型的吧?

解决方案 »

  1.   

    猜测你的意思,改用data()代替attr()试试,具体用法你自己查查jq API手册文档
      

  2.   


    //先排版, 理清结构
    var arr = [
    {
    treatFrameSeq: "2", 
    kbn: "1", 
    date: "8_10_2010", 
    treatPeriod: "1", 
    dTreatFrameList: [
    { irradRound: "16", protocolName: "aa"}, 
    {irradRound: "11", protocolName: "bb"}
    ]
    },  

    treatFrameSeq: "3", 
    kbn: "1", 
    date: "8_11_2010", 
    treatPeriod: "1", 
    dTreatFrameList: [
    {irradRound: "16", protocolName: "cc"}
    ]
    }
    ];
    var dTreatFramList = {};
    var id = 0;
    function gogogo(array){
    var obj = {};
    $.each(array, function(index, value){
    $.each(value, function(key, _value){
    //alert(key)
    if(key == "dTreatFrameList"){
    $.each(_value, function(_index, __value){
    //这里的每个__value就是lz所需要的dTreatFramList中的某个键值对
    //这里的id  LZ根据自己的需求设定吧
    obj[id.toString()] = __value;
    id++;
    });
    }
    });
    });
    return obj;
    }

    dTreatFramList = gogogo(arr);
      

  3.   


    2种方法
    $.getJSON(url, params, function (data) {
         alert(data);//object jquery已经帮我们将后台的字符串转成js的对象了
         alert(data.dTreatFrameList);//array,要保存在属性中,需要转换成字符串
    })$.get(url, params, function (data) {
         alert(data);//string 
         var o = eval("("+data+")");//用eval转换成js对象
         alert(o.dTreatFrameList);//array,要保存在属性中,需要转换成字符串
         var str = "[";
         for (var i in o.dTreatFrameList) {
             str += "{";
             for (var key in o[i]) {
                str += key + ":" + o[i][key]      
             }
             str += "}";
             if (i != o.dTreatFrameList.length - 1) {
                str += ",";
             }
         }
         str += "]";
         $("#id").attr("key", str);
    })