ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
1168
1168
EMPFEHLEN
-
13.01.11 06:55 #1
Ich hab versucht Jquery Autocomplete einzubauen, wenn ich die PHP-Datei aufrufe funktioniert alles, und wenn ich das Script in seinem eingebauten Zustand aufrufe und beginne den suchbegriff zu schreiben sieht man, dass das script funktioniert (Firebug). <li></li> wird erstellt in der Anzahl wie häufig das Suchergebnis vorkommt, aber nichts angezeigt.
jQuery-Funktion:
Code :1 2 3 4 5 6 7 8 9 10
$(function(){ $("#user_name").autocomplete({ source: "inc/autocomplete.inc.php", minLength: 2, select: function(event, ui) { $('#user_id').val(ui.item.user_id); $('#user_name').val(ui.item.user_name); } }); });
HTML-Datei:
autocomplete.inc.php:HTML-Code:<form action="index.php?link=ag_news&job={$n_job}&id={$n_id}" method="post" id="formgbook1"> <input type="hidden" name="absenden" value="ja" /> <table border="0" cellspacing="0" cellpadding="6"> <tr> <td><label for="name">Name</label></td> <td><input type="text" name="name" id="name" value="{$n_name}" /></td> </tr> <tr> <td><label for="newskat_name">Kategorie</label></td> <td><input type="text" name="newskat_name" id="newskat_name" value="{$n_newskat_name}" />{$n_newskat_change}</td> </tr> <tr> <td><label for="user_name">User</label></td> <td><p class="ui-widget"><input type="text" name="user_name" id="user_name" value="{$n_user_name}" /><input type="hidden" id="user_id" name="user_id" /></p></td> </tr> <tr> <td><label for="quelle">Quelle</label></td> <td><input type="text" name="quelle" id="quelle" value="{$n_quelle}" /></td> </tr> <tr> <td><label for="quelle_link">Quelle Link</label></td> <td><input type="text" name="quelle_link" id="quelle_link" value="{$n_quelle_link}" /></td> </tr> <tr> <td><label for="text">Nachricht</label></td> <td><textarea rows="6" cols="20" name="text" id="text" class="gbooktextarea">{$n_text}</textarea></td> </tr> <tr> <td> </td> <td><input type="submit" value="{$n_submit}" /></td> </tr> </table> </form> {php} if (isset($_POST['submit'])) { echo "<p>"; while (list($user_id,$user_name ) = each($_POST)){ echo "<strong>" . $user_id . "</strong> = ".$user_name."<br />"; } echo "</p>"; } {/php}
PHP-Code:$return_arr = array();
$dbhost = 'localhost';
$dbuser = 'ccccc';
$dbpass = 'ccccc';
$dbname = 'ccccc';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
/* If connection to database, run sql statement. */
if ($conn){
$fetch = mysql_query("SELECT * FROM ag_user where name like '%".$_GET['term']."%'");
/* Retrieve and store in array the results of the query.*/
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)){
$row_array['user_id'] = $row['user_id'];
$row_array['user_name'] = $row['name'];
array_push($return_arr,$row_array);
}
}
/* Free connection resources. */
mysql_close($conn);
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
Geändert von supercat1510 (13.01.11 um 10:00 Uhr)
^-_-^Mata ne
Supercat1510
-
Deine Antwort sieht etwa so aus:
Code :1
[{"user_id":"17","user_name":"Alex"},{"user_id":"13","user_name":"Peter"}]
Die Dokumentation sieht entweder eine String-Array vor
Code :1
["Alex", "Peter"]
Oder ein Objekt-Array mit den Attributen "label" und "value".
Code :1
[{"value":"13","label":"Alex"},{"value":"13","label":"Alex"}
Also musst du nur die zwei Zeilen im PHP code ändern.
Das JQuery Plugin kann ja schlecht auf magische weise feststellen, was es anzeigen soll. Wenn du mehr Kontrolle über die Darstellung willst musst du als "source" eine Funktion übergeben.PHP-Code:$row_array['value'] = $row['user_id'];
$row_array['label'] = $row['name'];
Geändert von CPoly (13.01.11 um 12:34 Uhr)
-
13.01.11 13:22 #3
Danke - das klappt.
Im Orginal stand das auch so - aber wusste nicht das die gleich lauten müssen.^-_-^Mata ne
Supercat1510
Ähnliche Themen
-
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] Probleme mit dem Autocomplete
Von newwarrior im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 20.03.10, 19:40 -
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





