2017-08-13 5 views
0

からのアクセス変数私はJSのこの作品を持っている:JS:AJAXの成功

次のように私にJSONを取得
$.ajax({ 
    url: '/my-url', 
    dataType: 'json', 
    success: function(json) { 
     for (var i = 0, ien = json.data.length; i < ien; i++) { 
     createPanel(json.data[i]); 
     var options = json.options; 
     console.log(options); 
     } 
    } 
    }); 

:私は、私は必要な私のjson.optionsを見ることができますコンソールログに

{ 
    "data": [{ 
     "id": "2", 
     "item": { 
      "name": "something here...", 
      "company": "1" 
     }, 
     "companies": { 
      "name": "my super company" 
     } 
    }], 
    "options": { 
     "company": [{ 
      "value": 2, 
      "label": "my second name" 
     }, { 
      "value": 1, 
      "label": "my super company" 
     }] 
    } 
} 

私は私のタラの私options変数後でアクセスするにはどうすればよい

editor.field('company').update(
    // options.company "value", "label" has to be populated here 
); 

:同じJSファイルの後のコードのこの部分に移入しますどう?ありがとうございました!

はこのような何かに私のコードを調整するように見える解決策は、トリックを行います。

$.ajax({ 
     url: '/my-url', 
     dataType: 'json' 
    }) 
    .done(callback) 
    .done(function(json) { 
     for (var i = 0, ien = json.data.length; i < ien; i++) { 
     createPanel(json.data[i]); 
     } 
    }); 

    function callback(response) { 
    var options = response.options.company; 
    editor.field('company').update(options); 
    } 
+0

loop through 'json.options.company' –

答えて

-1

あなたは単にをループする必要があるとgetをlabelvalue

var json = { 
 
    "data": [{ 
 
     "id": "2", 
 
     "item": { 
 
      "name": "something here...", 
 
      "company": "1" 
 
     }, 
 
     "companies": { 
 
      "name": "my super company" 
 
     } 
 
    }], 
 
    "options": { 
 
     "company": [{ 
 
      "value": 2, 
 
      "label": "my second name" 
 
     }, { 
 
      "value": 1, 
 
      "label": "my super company" 
 
     }] 
 
    } 
 
}; 
 

 
$(json.options.company).each(function(k, v){ 
 
    console.log('Label: ' + v.label + ' And value is ' + v.value); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

単純に配列を列挙するのにjQueryを使用するのはなぜですか? – Jamiec

+0

OPはJQueryにタグ付けされており、JQueryを使用しています。問題のコードを確認してください。 –

+0

おそらくそれはAjax呼び出しのためであり、配列を列挙するためにjQueryは必要ありません。 – Jamiec