Below is my recommendation based on my experience working with a similar search.
First and foremost I would provide a search CTA which also works with the enter key. There is no point in making the user guess how to run a search, I would make it very obvious by providing a search CTA to execute a search.
It makes even more sense to add a search CTA as you have multiple criteria the user can fill in before you can execute a search and there is no guarantee which control would the user choose to fill first and which one will the user fill in last.
Also as these are typeahead control the user might want to execute a search by just typing a string of text and never picking a value from either of the typeahead.
I have detailed the various scenarios that you may encounter during your implementation.
- Occupation picked from TA and nothing in the city
- Occupation picked from TA and city is a string not a value from TA
- Occupation picked from TA and city picked from TA
- Occupation String entered and no value from TA and nothing in the city
- Occupation String entered and no value from TA and city is a string not a value from TA
- Occupation String entered and the city picked from TA
- nothing in Occupation and nothing in the city
- nothing in Occupation and city is a string not a
value from TA
- nothing in occupation and city picked from TA
Again this might be a good candidate to test with your users to capture in analytics if the search was executed using the CTA click or using the enter key. Once you know the results, it might answer the question for you for the future.
Hope this helps.