Bueno, se puede hacer sin ajaX, teniendo todas las Ciudades en un Array.
Doy por supuesto, que sabes obtener las pulsaciones del teclado y las letras y tal, asi que voy al grano :
Código PHP:
function obtenerListaCiudades(textoEscrito,arrayCiudades) {
var textoExpReg = '^' + textoEscrito + '.*' ;
var regex = new RegExp(textoExpReg) ;
var i=0 ;
var ciudadesSeleccionadas = Array() ;
while (i < arrayCiudades.length)
{
if(arrayCiudades[i].search(regex) != -1)
ciudadesSeleccionadas[ciudadesSeleccionadas.length] = arrayCiudades[i] ;
i++ ;
}
return ciudadesSeleccionadas ;
}
--» A esta funcion la llamarias con cada Pulsacion de teclado, pasandole el texto introducido en el Textbox, y el array con todas las Ciudades
--» Esta funcion te Devolveria un Array con las ciudades que van concordando, luego con ese array ya puedes hacer lo que quieras: mostrarselas al usuario, supongo xD
--» Espero no haberme equivocado con la sintaxis de las Expresiones regulares, encuanto estas en 3 o 4 lenguajes, q cambian pekeñeces, no estas seguro de nada.
--» El array de Ciudades Inicial, claramente lo tienes que tener echo antes.
--» Dentro de lo que cabe, creo que no me he equivocado en la function, alomejor algun error sintactico que puedes arreglar tu ^_^
Si no te va, o te da error y no sabes como arreglarlo, o no ves el error, postealo aqui si eso :]
PD: Toda esa gente loca por ajaX, tranquilos!!, hay muchas cosas que se pueden hacer con ajaX, pero tambien se pueden hacer sin ellas...
PD2: Yo uso mucho ajaX xD
!