2017-01-17 3 views
0

json配列をループし、その値の一部をa divに追加します。ルーピングスルーはうまく動作します。しかし、私はjsonで複数の価値を持っています。最後の値だけが追加されます。ここでJson配列をループするときに最後の値だけを追加します。Jquery

は私のJSON

{"msg":[{"id":22,"created_at":"2017-01-16 08:57:43","updated_at":"2017-01-16 08:57:43","profile_name":"VFX DESIGNER","experience":"0-2","skill":"s:10:\"MYSQL,JAVA\";","user_id":"2","comments":"sadsads","aptitude":"yes"}, 
{"id":23,"created_at":"2017-01-16 08:57:43","updated_at":"2017-01-16 08:57:43","profile_name":"MAYA ","experience":"0-2","skill":"s:10:\"MYSQL,JAVA\";","user_id":"2","comments":"sadsads","aptitude":"yes"}]} 

私はループプロファイル名を取得するために通過され、それが第二値でのみMAYAを示しています。 VFX DESIGNERは付加されません。

$.each(data,function(key,value){ 
     $.each(value,function(index,titleObj){ 
      $("#profiles_name ul").empty(); 
      $("#profiles_name ul").append("<a href = javascript:getCandidates(this) data-value = "+titleObj.user_id+"/"+titleObj.id+"><li>"+titleObj.profile_name+"</li></a><li class = divider></li>"); 
     }); 
    }); 
+0

は、 ')(ループの外を' .emptyを取るために役立つ

$.each(data,function(key,value){ $.each(value,function(index,titleObj){ $("#profiles_name ul").append("<a href = javascript:getCandidates(this) data-value = "+titleObj.user_id+"/"+titleObj.id+"><li>"+titleObj.profile_name+"</li></a><li class = divider></li>"); }); }); 

・ホープ –

答えて

3

あなたはそれが("#profiles_name ul")ですべてを削除し、新しいaを追加し、すべてのiteraionで("#profiles_name ul").empty();を使用しているため。

最初のeachの前にempty()を使用すると、要素が消去され、データが繰り返し処理されます。

$("#profiles_name ul").empty(); 

$.each(data,function(key,value){ 
    $.each(value,function(index,titleObj){ 
     $("#profiles_name ul").append("<a href = javascript:getCandidates(this) data-value = "+titleObj.user_id+"/"+titleObj.id+"><li>"+titleObj.profile_name+"</li></a><li class = divider></li>"); 
    }); 
}); 
0

文字列を作成して追加して、目的の出力を取得します。

var str = ""; 
$.each(data,function(key,value){ 
    $.each(value,function(index,titleObj){ 
     str +="<a href = javascript:getCandidates(this) data-value = "+titleObj.user_id+"/"+titleObj.id+"><li>"+titleObj.profile_name+"</li></a><li class = divider></li>"; 
    }); 
}); 

$("#profiles_name ul").empty(); 
$("#profiles_name ul").append(str); 
1

$("#profiles_name ul").empty(); 
$.each(data,function(key,value){ 
     $.each(value,function(index,titleObj){ 

      $("#profiles_name ul").append("<a href = javascript:getCandidates(this) data-value = "+titleObj.user_id+"/"+titleObj.id+"><li>"+titleObj.profile_name+"</li></a><li class = divider></li>"); 
     }); 
    }); 

profiles_name ulループの前に試してみてください

0

はい右の各ループにあなたはULは、空作り、その後、新しく作成されたHTMLを追加するために... ので: 一度だけ空UL一度:

$("#profiles_name ul").empty(); 

ループthラフデータとそれにHTMLを追加します。これはあなたが

関連する問題