18 lutego 2010, Salmons został wysłany do Milwaukee Bucks w zamian za Hakima Warricka i Joe Alexandera; w wymianie brały także udział wybory w przyszłych draftach. Po trafieniu do Bucks, Salmons zdobywał niemal 20 punktów na mecz. Po sezonie wykorzystał opcję zawodnika i zrezygnował z ostatniego roku kontraktu, ale później podpisał inny pięcioletni kontrakt pozostając wciąż z Bulls.
23 czerwca 2011, Salmons ponownie trafił do Sacramento Kings, jako część wymiany między Kings, Bucks i Charlotte Bobcats. W jej wyniku do Sacramento trafił również Jimmer Fredette.
9 grudnia 2013, Salmons, Greivis Vásquez, Patrick Patterson oraz Chuck Hayes zostali wytransferowani do Toronto Raptors w zamian za Rudy'ego Gaya, Quincy'ego Acy i Aarona Graya.
30 czerwca 2014 Salmons, wraz z wyborem w drugiej rundzie draftu 2015 został oddany w ramach wymiany do Atlanty Hawks za Lou Williamsa i prawa do Lucasa Nogueiry. Jednak już 10 lipca 2014 został przez nich zwolniony.
26 sierpnia 2014 podpisał kontrakt z New Orleans Pelicans.