• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datalist mit mehreren 'Option value' Werten - Browserselektion einschränbar?

Status
Für weitere Antworten geschlossen.

FranzV

Neues Mitglied
Hallo zusammen,
ich fülle eine Datalist mit einer sql-abfrage, und zeige mehrere Felder in der Auswahlliste an. Mein Problem ist, dass der Browser bei der Eingabe eines Zeichens alle angezeigten Option value - Felder zum Vergleich heranzieht. Lässt sich das anpassen ? Bsp:
... sql abfrage definition ...
PHP:
<datalist id="idx">
<?php
$sqlr = "SELECT id, Name, Ort, Strasse FROM Adress order by Name" ;
$resultr = mysql_query($sqlr) OR die(mysql_error());
while($rowfthr = mysql_fetch_assoc($resultr)) {
  $idfthr = $rowfthr["id"];
  echo "<option value= $idfthr>".$rowfthr["Name"]. ' - ' .$rowfthr["Ort"]. ' - ' .$rowfthr["Strasse"]. "</option>";
}
?>
</datalist>
Wenn man nun im Input 'an' eingibt, zeigt er alle Datensätze in der Auswahlliste an, die entweder im Namen, im Ort oder in der Strasse die Buchstabenkombination 'an' beinhalten. Ich möchte aber, dass nur das Feld "Name" zum Vergleich herangezogen wird. Gleichwohl sollen aber alle 3 Felder in der Liste angezeigt werden.
Hab bisher leider keine Antwort drauf gefunden, evt weil google meine Frage nicht versteht....
icon_wink.gif


Danke für alle Tipps, Franz
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Danke an bdt, aber eine where Klausel hilft hier nicht weiter. Zur Erklärung, das Formular besteht aus mehreren Felder. Eben ein Adresseingabe. Eine per SQL vorgefüllte Datalist hat den Vorteil, dass während der Eingabe des Namens bereits alle Namen vorgefiltert aufgelistet werden, die (zumindest bei firefox) den eingegebenen Wert irgendwo beinhalten. (IE prüft nur ab Beginn, safari kann es gar nicht). Wenn nun in den Option Values zugleich Ort und Strasse angezeigt werden, kann man wesentlich bestimmter erkennen, ob der eingegebene Name bereits vorhanden ist, und kann eine erkannte Person auswählen, ansonsten füllt man auch die restlichen Felder aus, und die Adresse wird angelegt. Andererseits listet Firefox aber auch Namen auf, die den eingegebenen Wert im Orts- oder Strassennamen beinhalten, weil Strasse und Ort in den Option values enthalten sind, um angezeigt werden zu können.
Also, wenn ich als Name "Jäger" eingebe, dann werden auch alle Personen aufgelistet, die in einer "Jägerstrasse" wohnen, und wenn deren Name mit einem Buchstaben vor J beginnt, rutschen die vorhandenen Jäger in der Liste u.U. weit nach unten, und die Liste wird unnötig lange. Da der Name als erstes Feld eingegeben wird, hat man noch nichts für eine where Klausel.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben