Definition of have on:
(v) :
To be wearing.
(v) :
To have turned on (an electronic device).
(v) :
(UK, colloquial) To have (something) scheduled.
(v) :
(UK, Australia, New Zealand, colloquial) To trick or deceive deliberately; to play a prank on.
(v) :
(African-American Vernacular, colloquial) To possess at the point of arrest.
(v) :
(African-American Vernacular, colloquial) To possess evidence of wrongdoing regarding (someone); to press charges on (someone).