In some cases, you will want to provide a combo box. That's a select box where there is a number of predefined options, but the user can enter a new option by hand if it is not in the list.
An example use of this is a search form. Some search boxes are written in such a way that you can start writing something, and a box will appear below the search box with a list of possible existing searches that you might have meant. The following image shows what happens when I write jqu into the search box in Firefox and then pause for a moment:
In Chapter 2, Quick Tricks, dynamically filling a second select box was shown, but that depends on the server having all of the values in its database. In the case of countries and cities, and especially in the case of cities and towns, it is unfeasible to do this realistically, because of the sheer number of them, and also because the list sometimes changes—new towns are constantly being created, so any static form will quickly become inaccurate...