我有一个以JSON格式返回结果的字段。
$('#selectCategory').on('change', function () {
var optionSelect = $(this).val();
console.log('The option selected is: ' + optionSelect);
$.post("{{path('playlist_category') }}", {category: optionSelect},
function (filterContent) {
console.log(filterContent);
}, 'json');
});
filterContent函数返回与此类似的结果:
但我只想将相关信息留在元素的'id'中。
如果我执行以下操作,控制台将返回如下内容:
function (filterContent) {
for (var content in filterContent.category_result) {
for (var data in filterContent.category_result[content]) {
var result = filterContent.category_result[content][data];
console.log(result);
}
}
}, 'json');
如何才能获得数据'id'?
谢谢!
答案 0 :(得分:1)
请改用此代码:
$.post("{{path('playlist_category') }}", {category: optionSelect},
function (filterContent) {
for(var i = 0; i < filterContent.category_result.length; i++) {
console.log('id', filterContent.category_result[i]['id']);
}
}
}, 'json');
答案 1 :(得分:1)
不需要像这样使用内部for-in循环
function (filterContent) {
for (var content in filterContent.category_result) {
console.log(filterContent.category_result[content].id)
}
}, 'json');
答案 2 :(得分:0)
尝试将结果作为JSON。我正在尝试调整你的函数(filterContent)
function (filterContent) {
var result={};
for (var content in filterContent.category_result) {
for (var data in filterContent.category_result[content]) {
result.id = filterContent.category_result[content][id];
result.data= filterContent.category_result[content][data];
console.log(result);
}
}
}, 'json');
答案 3 :(得分:0)
你可以试试这个来得到一组id:
function (filterContent) {
var ids = $(filterContent.category_result).map(function() { return this.id });
}