Of course it is possible - AJAX defines it as possible.
If you already have the three functions set-up and see them rendering their views when you go to example.com/yourcontroller/functionName
then you're almost tehre.
What you need to do now on the client side is when a user clicks on a main-menu - load the submenu, right? Well attach a javascript click function callback to the clicked HTML item and when that event occurs call the server via AJAX.
You will need to ask yourself "What do I need to return from the server - HTML or JSON?" In the first case - when you receive the HTML data back just put it in the DOM where you want it to be. In the second case you will need to process the JSON and build HTML or whatever.
This was the answer, now some advice.
Do you absolutely really, really need to use AJAX for menus? Do they change that often?
Remember: 1 AJAX call == 1 request to the server Are your sub-menus really that data/change intensive that you need to load them like this? If your menus change based on the user's location (in the site) or user actions for example, ok you can use this, but otherwise you're killing a mosquito with a bazooka! You should try to keep the data exchange as low as possible, gzip the server returns, etc. etc. This solution could be an overkill for this situation.