2016-12-29 77 views
2

我想要console.log一個已經從其他2個對象組合的對象。我第一次CONSOLE.LOG(allObjects),它的工作原理,我看到:Object.assign結果在r.Event對象

對象{名: 「大衛」,wineResults: 「[{」 ID 「:158020,」 名 「:」 安蒂諾里 Tignanello 2013" , 「U ...」 清單 「:[]},」 零售 「:空,」 年份酒 「:{」 清單 「:[]}}]」}

$(document).on('submit', '.add-item-form', function(event) { 
    event.preventDefault(); 

    if (event.type === 'keypress' && event.which === 13 || event.type === 'submit') { 

     var name = $('#item-input').val(); 
     var usersObject = { 
      "name": name 
     }; 


     var searchArray = $('#search-results-array').val(); 
     var searchArrayObj = { 
      "wineResults": searchArray 
     }; 

     var allObjects = Object.assign(usersObject, searchArrayObj); 
     console.log(allObjects); // This one works great. 

     favDropDownItem(allObjects); 
     FavoritesList(allObjects); 

     $('#item-input').val(''); 
    } 

然後在下面的代碼中,我試圖將allObjects傳遞給我創建的鏈接,它出現在下拉菜單中。

function favDropDownItem(allObjects) { 
    var output = ''; 

     output += "<a href='javascript:void(0)' class='dropbtn' onclick='myDropdown()'>Favorites</a>"; 
     output += "<div class='dropdown-content' id='myDropdown'>"; 
     output += "<p class='nameLink'>" + name + "</p>"; 
     output += "<a href='#'>sample</a>"; 
     output += "</div>"; 

     $('li.dropdown').html(output); 


     $(".nameLink").on('click', function(allObjects) { 
      console.log(allObjects); // This one results in r.Event {originalEvent: MouseEvent, type: "click", target: 
      //p.nameLink, currentTarget: p.nameLink, relatedTarget: null…} 
     }); 
    } 

}); 

當我點擊.nameLink,我希望得到的是出現在第一的console.log相同的數據,而是我看到這一點:

r.Event {originalEvent:的MouseEvent,類型: 「點擊」,目標:p.nameLink, currentTarget當前:p.nameLink,relatedTarget:空...}

得到任何幫助。

回答

0

改變事件參數的名稱

 $(".nameLink").on('click', function(e) { 
      console.log(allObjects); //now you can get correct out put here 
     });