Это может быть не лучшим гуманного, но это работает на моем сайте. Этот скрипт реализует автоматическое заполнение имени улицы, которое зависит от состояния и города, которые пользователь ввел ранее. Этот фрагмент кода прослушивает событие «keyup». Если пользователь ввел более одной буквы, скрипт запускает запрос ajax, в котором скрипт .php анализирует отправленные параметры, выполняет SQL-запрос и ответы. Если пользователю повезло, и он получает некоторое предложение по названию улицы, которое он пытается найти, мы показываем ему div с id = hintsTable. Мы также создаем прослушиватель событий (щелчок) для каждого параметра автозаполнения, в котором мы заменяем значение поля ввода для параметра автозаполнения и скрываем раскрывающийся список. Надеюсь, это поможет.
$("#street input").keyup(function(){ //street enter
var input = $('#street input').val(); //we get what user has already entered
var code = $('#mregionSelect').val(); //city id
if(input.length > 1)
{
$.ajax({
type : "POST",
url : "components/com_areas/ajaxhelper.php",
data : "input=" + encodeURIComponent(input) + "&code=" + code,
cache : false,
}).done(function(msg){
if(msg.length > 0)
{
$('#hintsTable').html(msg); //fill drop-down list with auto complete options
$('#hints').css('display', 'block'); //show the list
$('#hintsTable tr').click(function(){
var hint = this.cells[0].innerHTML;
$('#street input').val(hint);
$('#hints').css("display", "none");
})
}
else
{
$('#hintsTable').html('');
$('#hints').css('display', 'none');
//$('#findButton').css('display', 'none');
}
})
}
else
{
$('#hintsTable').html('');
$('#hints').css('display', 'none');
//$('#findButton').css('display', 'none');
}
})
Я думаю, что есть несколько автозаполненных плагинов для jQuery. – Pointy
Вы можете захотеть ry [автозаполнение jQuery UI] (http://jqueryui.com/demos/autocomplete/). –