2013-12-06 1 views
-1

Ниже Jquery карта метод:Jquery карта метод

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) 

         }; 
        }));` 

Я могу успешно отобразить лицо деталь. Но мое требование состоит в том, чтобы объединить/слить человека и детали компании. Пожалуйста, помогите мне добиться этого.

+0

"помочь вам достичь этого"? Каков ваш вопрос? Где вы застряли? – meagar

+0

@ user3074683 У вас должен быть пример для примера вроде http://jsfiddle.net/ – Muhammed

ответ

1

Просто объединить эти объекты в один с JQuery:

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

или использовать эту функцию:

/** 
* 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; 
} 

(взято отсюда: How can I merge properties of two JavaScript objects dynamically?)

Смежные вопросы