2013-01-03 7 views
17

Ich benutze das Tag, um eine Liste von Vorschlägen für mein Suchfeld zu erstellen, aber ich kann nicht mehrere Werte aus dem Datenlisten auswählen. Derzeit mein HTML ist:mehrere Auswahlen mit Datenverteiler

<html> 

    <form action="search_tags.php" method="GET"/> 

    Search: <input type="text" multiple="multiple" name="search" list="tags" autocomplete="off" /> 

    <datalist id="tags"> 
    <option value="black"> 
    <option value="gold"> 
    <option value="grey"> 
    <option value="pink"> 
    <option value="turquoise"> 
    <option value="red"> 
    <option value="white"> 
    </datalist> 

</html> 

Es wird Vorschläge für einen Artikel bieten, aber nach, dass die Vorschläge nicht eine der automatische Vervollständigung für meine zweite Option vorschlagen. Ich dachte, dass das "multiple" -Tag alles war, was ich brauchte (und was online vorgeschlagen wird), aber es scheint nicht die gewünschte Wirkung zu haben.

Irgendwelche Vorschläge?

+1

Laut MDN gilt multiple nur für die Typen "email" und "file". Ich denke, Sie haben Pech für ein traditionelles Textfeld, und müssen möglicherweise etwas wie select2.js verwenden –

+0

Das ist bedauerlich :(Gibt es irgendeine Art von Javascript-Paket, das nicht jquery, das dies tun kann? –

+0

Most of Sie hängen von einer Bibliothek ab, da es eine anständige Menge an DOM-Manipulationen gibt. Es gibt select2 (jQuery), jQuery oder Prototype, jQuery UI-Autocomplete (jQuery). Ich denke, danach wirst du in weniger zuverlässige Lösungen kommen nimmst du jQuery? –

Antwort

13

Multiple derzeit nur mit input type = "E-Mail" und nur in Chrome und Opera

Blick auf dieses minimalistische Beispiel arbeiten:

<input type="email" list="emails" multiple> 
<datalist id="emails"> 
    <option value="[email protected]"> 
    <option value="[email protected]"> 
    <option value="[email protected]"> 
    <option value="[email protected]"> 
</datalist> 

<input type="text" list="texts" multiple> 
<datalist id="texts"> 
    <option value="black"> 
    <option value="gold"> 
    <option value="grey"> 
    <option value="pink"> 
    <option value="turquoise"> 
    <option value="red"> 
    <option value="white"> 
</datalist> 

(http://jsfiddle.net/iiic/t66boyea/1/)

Der erste Eingang wird Arbeiten, zweitens NICHT. Sie drücken nur Komma, und die Liste wird genauso angezeigt wie beim Klicken auf die Eingabe.

+6

Wer weiß, warum nur 'type =" email "' atm unterstützt wird? So bizarr! –

0

Customized Datenliste mehrere Werte annehmen:

https://jsfiddle.net/bhbwg0rg/1/

Nach jeder Eingabe drücken , und Spacebar)

<label for="authors">Type authors from favorite to least favorite</label> 
<input type="text" list="names-list" id="authors" value="" size="50" name="authors" placeholder="Type author names"> 
<small>You can type how many you want.</small> 
<datalist id="names-list"> 
    <option value="Albert Camus"> 
    <option value="Alexandre Dumas"> 
    <option value="C. S. Lewis"> 
    <option value="Charles Dickens"> 
    <option value="Dante Alighieri"> 
</datalist> 

Quelle: https://codepen.io

Verwandte Themen