My children attend a small private school. There is no hot lunch program. So, every day they have to take their lunch. Recently I have started having my kids pack their lunches for school. Each night after supper the kids decide what they want for lunch the next day. They know that they need a main item, 2 fruits and/or veggies, and a snack. I make sure there are several choices from which they can pick. If they want leftovers, they get it ready before I put them in the fridge. If they want a sandwich, they make it at that time. Each child (I have 3) has a shelf in the fridge where they put their lunch. Each morning I grab what they have prepared and pack their lunch. If they want something in their thermos, I warm it up & put it in.
This has worked out great. They take things that they like. No more complaints about what they had in their lunch. Also, they are eating more of their lunch and bringing less home.