Enabling multiple coupons at checkout

I wanted to offer discounts (variable discounts) for about 10 items. For e.g: I wanna give a $ off on apples, a 50 cents off on tomatoes. I am able to create single item promotions, but I want customers to dynamically get item discounts based on the cart. Is there a way to do this?