ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
989
989
EMPFEHLEN
-
20.03.10 18:11 #1
Hi,
ich habe nach einem Tutorial ein Autocomplete in mein Formular eingebaut:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
<tr> <td>Empfänger:</td> <td><input id="autocomplete" type="text" name="reciever" class="ac_input" size="42" /></td> </tr> <script type="text/javascript"> function findValue(li) { if( li == null ) return alert("No match!"); // if coming from an AJAX call, let's use the CityId as the value if( !!li.extra ) var sValue = li.extra[0]; // otherwise, let's just display the value in the text box else var sValue = li.selectValue; //alert("The value you selected was: " + sValue); } function selectItem(li) { findValue(li); } function formatItem(row) { return row[0]; } function lookupLocal(){ var oSuggest = $("#autocomplete")[0].autocompleter; oSuggest.findValue(); return false; } $("#autocomplete").autocomplete( "tpl/html/search_user.php", { delay:10, minChars:3, matchSubset:1, matchContains:1, cacheLength:10, onItemSelect:selectItem, onFindValue:findValue, formatItem:formatItem, autoFill:true } ); </script>
Hier der entsprechende PHP Code:
Ich habe in der DB mehrere User mit den Namen Bluescreen, Bluescree1, Bluescree2.PHP-Code:<?php
session_start();
require_once('../../settings/dbconnect.php');
$res = mysql_query("SELECT playername FROM user WHERE playername LIKE '%".$_GET['q']."%' ", $db) OR die(mysql_error());
while($row = mysql_fetch_object($res)) {
echo $row->playername;
}
?>
Wenn ich jetzt dir ersten drei Buchstaben eingebe, werden alle Namen in einer Zeile angezeigt und auch direkt in den Input geschrieben.
Selbst wenn ich sie durch eine <br /> untereinander schreibe, ist es so, das beim drauf klicken gleich alle Namen eingetragen werden und nich nur den Name auf den ich geclickt habe.
Warum ist das so?
Danke
-
20.03.10 18:31 #2Maik Tutorials.de Gastzugang
Hi,
hast du zwischenzeitlich die Ursache lokalisert, oder warum hast du das Thema (kommentarlos) als erledigt markiert?
mfg Maik
-
20.03.10 19:14 #3
Ja habe ich.
Es lag an der DB Abfrage, habe sie angepasst und jetzt klappt alles.
-
20.03.10 19:17 #4Maik Tutorials.de Gastzugang
Und warum teilst du das hier dann nicht direkt mit, wenn du schon zum "Abhaken" zurückkehrst?
Stattdessen müssen wi bei dir Rückfrage halten
Leute gibt's.... da kriegste die Tür nicht zu
mfg Maik
-
20.03.10 19:40 #5
Kam ich noch nicht zu.
Musst eben noch einlaufen, hier die Lösung:
Und hier nochmal den angepassten JS Teil:PHP-Code:<?php
session_start();
require_once('../../settings/dbconnect.php');
require_once('../../functions/functions.php');
$res = mysql_query("SELECT playername, nation FROM user WHERE playername LIKE '%".$_GET['q']."%' ", $db) OR die(mysql_error());
while($row = mysql_fetch_object($res)) {
echo $row->playername.'|'.get_nation_flag($row->nation)."\n";
}
?>
Code :1 2 3
function formatItem(row) { return row[0] + " (Nation: " + row[1] + ")"; }
Warum es genau danach geklappt hat, kann ich nicht sagen.
Ich vermute mal, dass das Plugin autocomplete zwei Anweisungen erwartet.
Ähnliche Themen
-
[JQuery] Ui Autocomplete - Leere Ergebnisliste
Von supercat1510 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 13.01.11, 13:22 -
Problem mit jQuery Autocomplete
Von Sirakov im Forum Javascript & AjaxAntworten: 24Letzter Beitrag: 28.08.10, 22:19 -
[jQuery] Autocomplete
Von ropueh im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 29.06.10, 01:13 -
jquery autocomplete - Feldinhalt übergeben
Von NobodyBody im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 20.01.10, 09:04 -
jquery autocomplete soll intern verlinken
Von Axel1971 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 23.12.09, 21:26





Zitieren
Login





