ajax回调函数 遍历json数据的问题
ajax的响应数据[{"id":1,"attr_name":"颜色","attr_type":"可选","attr_option_values":"红色,黄色,绿色","...
ajax的响应数据
[{"id":1,"attr_name":"颜色","attr_type":"可选","attr_option_values":"红色,黄色,绿色","type_id":2},{"id":5,"attr_name":"尺码","attr_type":"可选","attr_option_values":"XL,XXL,XXXL","type_id":2},
{"id":6,"attr_name":"材质","attr_type":"唯一","attr_option_values":"纯棉","type_id":2}]
ajax的成功回调函数 $(data).each无法成功执行为什么
success:function(data){
var li='';
alert('222');
//遍历响应的json格式的数据
$(data).each(function(k,v){
if(v.attr_type=='可选'){
li+='<li>';
li+='<a href="">+</a>';
}
li+=v.attr_name+':';
if(v.attr_option_values==''){
li+='<input type="text" value=""/>';
}else{
li+='<select><option value="">请选择属性</option>';
var values=v.attr_option_values.split(',');
for(var i=0;i<i.values.length;i++){
li+='<option value="'+values[i]+'">';
li+=values[i];
li+='</option>';
}
li+='</select>';
}
li+='</li>';
});
$('.attr_list').html(li);
},
ajax回调正常 就是$.each(data, function(index, value)循环不知道出了什么问题 调试了好久也找不到毛病 展开
[{"id":1,"attr_name":"颜色","attr_type":"可选","attr_option_values":"红色,黄色,绿色","type_id":2},{"id":5,"attr_name":"尺码","attr_type":"可选","attr_option_values":"XL,XXL,XXXL","type_id":2},
{"id":6,"attr_name":"材质","attr_type":"唯一","attr_option_values":"纯棉","type_id":2}]
ajax的成功回调函数 $(data).each无法成功执行为什么
success:function(data){
var li='';
alert('222');
//遍历响应的json格式的数据
$(data).each(function(k,v){
if(v.attr_type=='可选'){
li+='<li>';
li+='<a href="">+</a>';
}
li+=v.attr_name+':';
if(v.attr_option_values==''){
li+='<input type="text" value=""/>';
}else{
li+='<select><option value="">请选择属性</option>';
var values=v.attr_option_values.split(',');
for(var i=0;i<i.values.length;i++){
li+='<option value="'+values[i]+'">';
li+=values[i];
li+='</option>';
}
li+='</select>';
}
li+='</li>';
});
$('.attr_list').html(li);
},
ajax回调正常 就是$.each(data, function(index, value)循环不知道出了什么问题 调试了好久也找不到毛病 展开
1个回答
展开全部
可以直接使用Array的方法:
data.forEach(function(value, index){
//...
});
如果用jQuery:
$.each(data, function(index, value){
//...
});
形如$('selector').each()的方法是用来循环jQuery对象的. jQuery有两个each方法:
$.each(array, function(index, value)): 用于循环数组;
$.fn.each(function(index, value)): 用于循环jQuery实例对象, 即用jQuery选择器选中的dom对象.
更多追问追答
追答
现在没啥问题了吧. 有问题的话是报错了还是?
还有就是和你的具体的数据有关的, 你if(y.attr_type=="可选") 后, 没有处理!=="可选"的情况, 在!=="可选"时, 会出现不闭合的标签. 可以将li+="'这句移到if之前.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询