For new Opportunity, relate to account and contacts of that account

When creating an Opportunity, we relate it to an account by choosing it from a search/dropdown.   I would also like to relate the Opp to a contact, but I don't want to choose from ALL contacts.  I just want to see the contacts related to the selected Account.    It would be a kind of dependent dropdown, but dynamic, based on the account-contact relationship.  Once you choose the account, it would populate the contact dropdown.  Is there any way to make this work?