Jakhar beats BJP, AAP in Gurdaspur by-poll