-1

Below is the Jquery map method:

success: function (data) {
                    var p = data.d
                    var person = JSON.parse(p).Person[0]
                    var company = JSON.parse(p).Company[0]
                    alert(p)
                    response($.map(person , function (item) {


                        var companyNames = item.company.join(", ");
                        var val = "<div class='searchedPersonItem'>" + item.pName + "<br><span class='darkestGrey'>" + companyNames + "</span></div>";
                        // var val = "<table><tr><td><a><div class='searchedPersonItem'>" + item.pName + "<br><span class='darkestGrey'>" + companyNames + "</span></div></td><td><div class='searchedPersonItem'>" + item.pName + "<br><span class='darkestGrey'>" + companyNames + "</span></div></a></td></tr></table>";
                        //var val = "<table><tr><td><div class='searchedPersonItem' id='" + item.id + "'>" + item.pName + "<br><span class='darkestGrey'>" + companyNames + "</span></div></td><td><div class='searchedPersonItem1'>" + item.pName + "<br><span class='darkestGrey'>" + companyNames + "</span></div></td></tr></table>";

                        return {
                            label: val,
                            value: item.pName,
                            hidden: JSON.stringify(item)

                        };
                    }));`

I am able to display successfully person detail. But my requirement is to concatenate/merge person and company detail. Please help me to achieve this.

mcuadros
  • 3,977
  • 3
  • 35
  • 44

1 Answers1

1

Just merge those objects to one with jQuery:

var merged_data = $.extend({}, person, company);

or use this function:

/**
 * Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1
 * @param obj1
 * @param obj2
 * @returns obj3 a new object based on obj1 and obj2
 */
function merge_options(obj1,obj2){
    var obj3 = {};
    for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
    for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
    return obj3;
}

(taken from here: How can I merge properties of two JavaScript objects dynamically?)

Community
  • 1
  • 1
Hardy
  • 5,342
  • 2
  • 16
  • 27