2016-01-18 55 views
1

所以,我有原來的AJAX功能:jQuery的 「每個」 函數值

dataType: 'json', 
data : { action: something , id: id}, 
success: function(data) { 
    var my_title= data.title; // values: "post1,post2,post3"  
    var my_name = data.name; // values: "steve,mike,sean" 
    var my_html ='<div class="'+ my_title +'">'+ my_name +'</div>' 
    jQuery('.my_class').append(my_html); 
} 

所以,我有兩個變量(my_titlesmy_name)各有3個值(n數值)。

然後,我想將這些單個值用於my_html變量,並將它們附加在.my_class中。

結果將是如下:

<div class="my_class"> 
    <div class="post1">Steve</div> 
    <div class="post2">mike</div> 
    <div class="post3">sean</div> 
</div> 

於是,我嘗試過編輯下面我AJAX功能:

dataType: 'json', 
data : { action: something , id: id}, 
success: function(data) { 
    jQuery.each(data,function (i,n){  
     var my_title= n.title; 
     var my_name = n.name;    
     alert("Title:" + my_title);    
    }); 
} 

我得到undefined作爲結果。

任何幫助?謝謝!

回答

2

你應該像下面這樣做。

jQuery.each(data.title, function (index){   
    var my_title = this; // change here `this` instead of `data.title`    
    alert("Title:" + my_title);    
}); 

如果data.title是一個字符串。您需要splitdata.title然後像下面一樣遍歷它。

jQuery.each(data.title.split(','), function (index){   
    var my_title= this;    
    alert("Title:" + my_title);    
}); 

更新:不喜歡在ajax繼成功。

var length=data.title.length; 
for (var i=0; i<length; i++) {  
    var my_title= data.title[i]; 
    var my_name = data.name[i];    
    alert("Title:" + my_title); 
    alert("Name:" + my_name);    
}); 
+0

謝謝你的答覆。我編輯了原始帖子。我意識到,我從一開始就有錯誤的形式。 –

+0

查看已更新的答案。 @steveKim – Azim

1

假設data.title是一個數組

jQuery.each(data.title, function (index){   
    var my_title= data.title[index];    
    alert("Title:" + my_title);    
}); 
+0

謝謝你的回覆。我對原始帖子進行了更改。你能幫我看看嗎? –