我有这条JS:
$.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:
{
"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
,然后我需要在同一个JS文件中填充这段代码:
editor.field('company').update(
// options.company "value", "label" has to be populated here
);
如何在我的代码中稍后访问我的options
变量?谢谢!
解决方案
看起来像我的代码调整到这样的东西,诀窍:
$.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 :(得分:-1)
您只需循环访问并获取label
和value
:
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);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;