Mam textbox w pętli jak poniżej:
for ($i = 1; ; $i++) { if ($i > 20) { break; } echo ' <div> Players:<input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /> </div> <div class="suggestionsBox" id="suggestions" style="display: none;"> <div class="suggestionList" id="autoSuggestionsList"> </div> </div><br/>'; }
korzysta on z autouzupełnienia które jest pobierane z bazy danych za pomocą tego kodu:
<script>
function lookup(inputString) {
if(inputString.length == 0) {
$('#suggestions').hide();
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup
function fill(thisValue) {
$("#inputString").val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</script>
Wszystko działa świetnie ale tylko dla pierwszego tekst boksa. W drugim polu też sie pojawiają sugestie ale po wybraniu jednej zmienia się wartość pierwszego jak się można domyślić w czym tkwi mój problem.
Wiem że każde id="inputString" powinno mieć unikalny kod jak sie nie mylę coś w stylu id="inputString'.$i.'" ale jak to zrobić w funkcji jquery "fill" by odpowiadały każdemu z pól z osobna.
Będę wdzięczny za porady