Don't laugh but I think I'm doing this wrong.

Pants either don't have a high enough rise but the legs are too long (Carters 12m) or have a gigantic waistband but the legs are too short (Gap 6-12m). He has one pair of pants that sort of fits well, a pair of J.Crew sweatpants in 3-6m that has a high rise but are capri length on him now. Which measurement am I supposed to go by? Am I expecting the waist to be too high? If they aren't high enough they fall off when he sits. And if they aren't long enough DH manages to pull the cuffs up to his thighs, so I just can't win.