What's the best way to select one in a big list?


I’m trying to convert our Windows application into web-based
It’s a personal project to see if that’s feasible.

There’s a table for patients.
In a [new patient] window, you need to select a guarantor(responsible
party for the patient, mostly father of family. It’s self-referential
foreign key.).
In the Windows application, it opens a modal window and search a
guarantor in a big list and if you select a guarantor the modal window
closes and selected guarantor is set to a hidden field (guarantor_id)
and shows name in a read-only field.

I think this is quite common case for foreign keys.
If the list is small, I can use and show them all in it.
But if the list is big, is not practical.

Of course, I can open a search window (new browser) to select one.
But as you know, in web applications, browser is not modal.

Probably, Ajax-style auto-completion might be an answer.
I’m not sure.

Anybody has experiences/ideas with this issue?
Can you share it with people?