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

Hilfe bei übergeben von variablen an eine datalist

bengaltiger

Neues Mitglied
Hallo liebe community

ich versuche seit mehrere stunden 2variablen in einem option tag rein zubekommen,
doch eine der vaibalen soll versteckt sein also unsichtbar für den user

folgends hab ich

in der php datei

PHP:
...
$names=array();
$users=mysql_query("SELECT id,firstname,lastname FROM ".$dbpraefix."user");
while($row = mysql_fetch_array($users)){
      array_push($names,array('users_name'=>$row['firstname']." ".$row['lastname'],'username'=>$row['id']));
}

und in der html datei
HTML:
<form action="..." method="post">
        <input list="users" name="receiver"/>
        <datalist id="users">
        <?php foreach ($names as $value): ?>
        <option value="<?=$value['users_name']?>"></option>
        <?php endforeach;?>
        </datalist>
</form>

doch hier will ich versuchen die dazugehörige id als versteckte variable weiter zugeben...
HTML:
<?php foreach ($names as $value): ?>
        <option value="<?=$value['users_name']?>"></option>
        <?php endforeach;?>

wäre über jede hilfe dankbar :D
 
Hallo,
hast du schon <option value="USER-ID">USER-NAME</option> probiert?
Wenn das nicht klappt, kannst du ja auch die Datalist wegnehmen und Javascript die Usernamen und ID's übergeben, diese werrte dann bei onsubmit austauschen.
für reine dropdown listen kann man das oberste beispiel auf jeden fall verwenden.
 
Ich habe es gerade getestet. Im Firefox scheint das value-Attribut nur dann einge-/übertragen zu werden, wenn es explizit in der Liste ausgewählt wird. Das heißt, wenn ich mit Tastatur oder Maus den Eintrag markiere und entsprechend durch Enter oder Klick bestätige.

HTML:
<!DOCTYPE html>

<html lang="en">

    <head>
        <meta charset="utf-8" />
        <title>New</title>
    </head>

    <body>

<?php

if (count($_POST) > 0) {
    var_dump($_POST);
}

?>

        <form action="" method="post">
            <input list="users" name="receiver"/>
            <datalist id="users">
                <option value="1">eins</option>
                <option value="2">zwei</option>
                <option value="3">drei</option>
            </datalist>
        </form>

    </body>

</html>
 
mermshaus vorschlag ist das nichtwas ich haben wollte sobal ich auf dennamen klicke wird de mit der id ersetzt
aberder sol ja unsichtbar bleiben

janm mit onsubmit austausch darauf bin ich auch gekommen aber bei der datalist/option funktiniert es nicht
ich brauch die datalist da ichwährend beim eintippen den richtigen value auswählen kann...(soll fast wie ne suche sein)
 
Was heißt Vorschlag. Ich habe lediglich berichtet, wie sich mein Firefox konkret verhält.

Mein Urteil würde hier lauten: Dein gewünschtes Verhalten ist mit dem datalist-Element nicht umsetzbar. Aber ich kann das nicht sicher beurteilen, da ich damit bisher keine Erfahrung habe.

Du könntest alternativ mal gucken, ob jQuery UI Autocomplete die gewünschte Trennung unterstützt.

- jQuery UI - Autocomplete Demos & Documentation

Ansonsten müsstest du den übertragenen Wert wohl zur ID rückauflösen oder eben irgendeine Art Workaround nutzen.
 
Zurück
Oben