I didn't make DH's ears ('cause I couldn't find a "cheap" top hat, the ready made ones were cheaper), but I made my own.
I used the extra thick craft foam (available at lots of craft shops, I found it at Joann's). It's about 1/4" thick. I had an old pair of ears that I traced for the shape (or you can try printing a template) and then cut them out. The edges were a bit rough, but I covered them with a fancy 1/4" ribbon. I just hot glued them to a headband for myself.
I think you could probably hot glue them to just about anything. I was going to make bride/groom baseball caps with ears, but I really don't like to wear hats.
To be honest, I don't think anyone noticed that I had made my own ears, they looked pretty darn good!
The ears cost about $16 each at the parks...I made mine for less than that (less than $10). You could spend more and get higher quality (especially if you use nice baseball caps).