我的代码是:
$(document).ready(function() {
var catArr=[];
$.get("viewData.php?action=getCat", function(json) {
if(json.catArr.length>0)
$.each(json.catArr, function()
{
catArr.push(this.category);
});
}, 'json');
$.each(catArr, function(index, el) {
console.log(el);
$("#category_selector").append($('<option>', {
value: el,
text : el
}));
});
});
我确保使用console.log()填充数组catArr []。这是截图:
但由于console.log(el);
,我没有得到任何输出。这是不是意味着$ .each()没有执行?为什么会这样,我该如何解决?
答案 0 :(得分:2)
我认为你应该在$ .get ...
中加入$ .each$(document).ready(function() {
var catArr=[];
$.get("viewData.php?action=getCat", function(json) {
if(json.catArr.length>0)
$.each(json.catArr, function()
{
catArr.push(this.category);
});
$.each(catArr, function(index, el) {
console.log(el);
$("#category_selector").append($('<option>', {
value: el,
text : el
}));
});
}, 'json');
});
答案 1 :(得分:1)
您似乎正在从服务器获取数据,但是您的javascript在运行代码后立即运行,这意味着您的/* When the input is not focused */
md-input-container label {
color: red;
}
/* When the input is focused */
md-input-container.md-input-focused label {
color: blue;
}
在数据来自服务器之前运行,您应该这样做像这样:
$.each()
您应该在从服务器
收到数据时对其进行操作
希望这有帮助!