Beware of those juice boxes - they contain twice as much juice as the maximum daily amount recommended for toddlers. Toddlers don't need juice, and if he's not drinking enough anyway it would be better to get him drinking water than anything else.

Have you considered giving him a cup without a lid (a plastic child's normal drinking cup)? You will certainly get some spills still at that age, but Jack really loved the novelty of it at that age and sometimes insisted on drinking from a "big boy cup" instead of his sippy or straw ones. It could be worth a try and then it saves you having to transition him to them down the track.