В настоящее время я изменяю готовый сценарий самозахвата php/jQuery. Я борюсь с тем, чтобы сценарий работал с несколькими полями ввода текста. Первоначально он был создан для работы с полем ONE.Получить сфокусированный идентификатор поля формы в jQuery
Вот Originale скрипт и код формы:
function suggest(inputString){
if(inputString.length == 0) {
$('#suggestions').fadeOut();
} else {
$('#city').addClass('load');
$.post("autosuggest.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').fadeIn();
$('#suggestionsList').html(data);
$('#city').removeClass('load');
}
});
}
}
function fill(thisValue) {
$('#city').val(thisValue);
setTimeout("$('#suggestions').fadeOut();", 0);
}
подход изменить сценарий для работы с несколькими полями ввода, на мой взгляд, было бы получить идентификатор сфокусированного элементов форм, а затем сделать что-то например:
function getFocusID() {
// get the focused form field id here
}
if(focusedID == "city") {
//Script for form field with "city" as id
function suggest(inputString){
if(inputString.length == 0) {
$('#suggestions').fadeOut();
} else {
$('#city').addClass('load');
$.post("autosuggest.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').fadeIn();
$('#suggestionsList').html(data);
$('#city').removeClass('load');
}
});
}
}
function fill(thisValue) {
$('#city').val(thisValue);
setTimeout("$('#suggestions').fadeOut();", 0);
}
} // code for input id "city" END
// And now create if else statements for the other 4 input text fields, filling them with the code above.
Я думаю, правильно здесь? Или есть ли еще более эффективный способ сделать это? И если это правильный подход, как мне получить идентификатор inpud сфокусированного текстового поля ввода?