現在、すぐに使用できる php/jQuery 自動提案スクリプトを変更しています。スクリプトを複数のテキスト入力フィールドで動作させるのに苦労しています。もともとは 1 つのフィールドで動作するように作られています。
元のスクリプトとフォーム コードは次のとおりです。
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);
}
複数の入力フィールドで動作するようにスクリプトを変更する方法は、フォーカスされたフォーム要素の ID を取得してから、次のようにすることだと思います。
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.
私はここで正しいと思いますか?または、これを行うための他のより効率的な方法はありますか? これが正しいアプローチである場合、フォーカスされた入力テキスト フィールドの入力 ID を取得するにはどうすればよいですか?