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.