javascript
  • jquery
  • json
  • each
  • 2012-06-17 50 views 2 likes 
    2

    我有一个data()对象包含一些json。循环通过jQuery数据()对象获取键和值

    有没有一种方法可以遍历对象并获取每个零件的键和值?

    这是我到目前为止有:

    function getFigures() { 
    
    var propertyValue = getUrlVars()["propertyValue"]; 
    
    $.getJSON(serviceURL + 'calculator.php?value=' + propertyValue, function(data) { 
    
        figures = data.figures; 
        $.each(figures, function(index, figure) { 
    
         $('#figureList').append('<li> index = ' + data.figures.figure + '</li>'); 
    
        }); 
    
    }); 
    
    $('#figureList').listview('refresh'); 
    
    } 
    

    JSON的是这样的:

    {"figures":{"value":"150000","completion":"10.00","coal":"32.40","local":"144.00","bacs":"35.00","landRegistry":"200.00","solFee":"395.00","vatOnSolFees":79,"stampDuty":1500,"total":2395.4}} 
    

    道歉,如果它的简单,我是新来的jQuery,但没有找到任何东西这有帮助。

    +0

    你期望进去'#figureList'? – VisioN

    +0

    尝试此: [http://stackoverflow.com/questions/684672/loop-through-javascript-object][1] [1]:http://stackoverflow.com/问题/ 684672/loop-through-javascript-object –

    回答

    4

    你可以得到keyvalue这样

    $.each(data.figures, function(key, val) { 
    
         console.log('Key: ' + key + ' Val: ' + val) 
    
        });​ 
    

    所以更改您的代码

    $('#figureList').append('<li>'+ index + ' = ' + figure + '</li>'); 
    

    演示:http://jsfiddle.net/joycse06/ERAgu/

    +0

    太棒了,工作!我试过类似的东西,但没有运气,所以我一定错过了一些东西。再次感谢您的及时答复。 –

    +0

    @JamesJ你非常欢迎。 :) –

    0

    参数indexfigure包含参数名称和价值。我认为你需要将参数连接成字符串:

    $('#figureList').append('<li>' + index + ' = ' + figure + '</li>'); 
    

    另一种方法是创建列表项元素,并将它的文本,这也将工作,如果文本包含的任何字符需要编码:

    $('#figureList').append($('<li/>').text(index + ' = ' + figure)); 
    
    +0

    先生,在第一个,开始'li'有'>'丢失。 –

    +0

    @Joy:是的,你是对的,它在编辑中迷了路。修复。 :) – Guffa

    0
    function getFigures() { 
    
        var propertyValue = getUrlVars()["propertyValue"]; 
    
        $.getJSON(serviceURL + 'calculator.php?value=' + propertyValue, function(data) { 
    
         $.each(data['figures'], function(index, val) { 
    
          here grab "val" is key 
    
          $.each(data['figures'][index], function(col, valc) { 
    
          here grab "col" is value 
    
          } 
         } 
    
        }  
    

    再见

    相关问题