javascript
  • jquery
  • json
  • each
  • 2012-06-17 88 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 
    
          } 
         } 
    
        }  
    

    再見

    相關問題