i have searched from stackoverflow and implemented the following jquery code, which is to get the json object from php and append it as li tags, but its appending 3 instances of one value.
Sample code is:
var $childs = $('.childs');
$.getJSON('common/db/fetchUniversity.php', function(data) {
$(data).each(function() {
var $element = $childs.clone().removeClass('childs').appendTo('#colleges');
$element.attr('id', this.id+"u");
$element.html("<a href='#' class='img'><strong><img alt='image' src='images/mit.jpg' style='height:40px; width:40px;' /></strong></a><div style='padding-right: 30px;'><h4 style='display:inline; margin:1px;'>"+this.name+"</h4><p style='display:inline;'>"+this.description+"</p></div><p style='margin:2px;'><a href='#' style='text-decoration: none;'><span class='ui-icon ui-icon-circle-plus' style='display:inline-block; vertical-align:middle;'></span>Follow</a></p><ul class='actions'><li class='remove'><a href='javascript:RemoveMe('#"+this.id+"u')'><span class='ui-icon ui-icon-closethick'>close</span></a></li></ul>");
});
});
$.getJSON('common/db/fetchPeople.php', function(data1) {
$(data1).each(function() {
var $element = $childs.clone().removeClass('childs').appendTo('#people');
$element.attr('id', this.id+"p");
$element.html("<a href='#' class='img'><strong><img alt='image' src='"+btoa(this.pic)+"' style='height:40px; width:40px;' /></strong></a><div style='padding-right: 30px;'><h4 style='display:inline; margin:1px;'>"+this.name+"</h4><p style='display:inline;'>"+this.job_desc+","+this.location+"</p></div><p style='margin:2px;'><a href='#' style='text-decoration: none;'><span class='ui-icon ui-icon-circle-plus' style='display:inline-block; vertical-align:middle;'></span>Follow</a></p><ul class='actions'><li class='remove'><a href='javascript:RemoveMe('#"+this.id+"p')'><span class='ui-icon ui-icon-closethick'>close</span></a></li></ul>");
});
});
$.getJSON('common/db/fetchGroups.php', function(data) {
$(data2).each(function() {
var $element = $childs.clone().removeClass('childs').appendTo('#groups');
$element.attr('id', this.id+"g");
$element.html("<a href='#' class='img'><strong><img alt='image' src='images/groups/hbr.jpg' style='height:40px; width:40px;' /></strong></a><div style='padding-right: 30px;'><h4 style='display:inline; margin:1px;'>"+this.name+"</h4><p style='display:inline;'>"+this.job_desc+","+this.location+"</p></div><p style='margin:2px;'><a href='#' style='text-decoration: none;'><span class='ui-icon ui-icon-circle-plus' style='display:inline-block; vertical-align:middle;'></span>Follow</a></p><ul class='actions'><li class='remove'><a href='javascript:RemoveMe('#"+this.id+"g')'><span class='ui-icon ui-icon-closethick'>close</span></a></li></ul>");
});
});
the above code is fetching 3 json objects, and appending it to li tags, but all the above are adding 3 instances of single value. li tags are inside of jquery accordion.
When i hit json php file, its returning correct, i guess jquery code is doing something wrong to me. Please let me know where i am going wrong.
json object, when entered in browser:-
[{"id":1,"name":"Stanford university","description":"One of the best university in the world"},{"id":2,"name":"Princeton University","description":"One of the best university in the world"},{"id":3,"name":"Yale University","description":"One of the best university in the world"},{"id":4,"name":"California University","description":"One of the best university in the world"},{"id":5,"name":"Yale University","description":"One of the best university in the world"},{"id":6,"name":"California University","description":"One of the best university in the world"},{"id":7,"name":"Princeton University","description":"One of the best university in the world"},{"id":8,"name":"Stanford university","description":"One of the best university in the world"},{"id":9,"name":"California University","description":"One of the best university in the world"},{"id":10,"name":"Princeton University","description":"One of the best university in the world"},{"id":11,"name":"Yale University","description":"One of the best university in the world"}]
the above id:1 values are appending 3 times, it is happening for all the values.
Maybe there are more than one elements with class childs in your DOM.