2016-08-05 4 views
2

Ich habe einen SelectInput mit allen möglichen Auswahlmöglichkeiten angezeigt. Ich möchte es so implementieren, dass, wenn ein Benutzer etwas in die Box eingibt und die Eingabetaste drückt, wird das auch als eine Auswahl hinzugefügt.Hinzufügen von Optionen zu einem selectInput

observeEvent(input$mykeypress, { 

if(input$mykeypress == 13){ 

    print(input$selectBox) 

} 

habe ich versucht, den obigen Code zu sehen, ob meine Eingabe geändert, aber es scheint, dass egal, was zusätzliche Sachen, die ich in der Auswahlbox geben, nichts davon erkannt wird.

Hat jemand Ideen, wie ich etwas extra erkennen kann, das der Benutzer eingibt?

Bearbeiten: Eine andere Idee, die ich in Erwägung ziehe, ist ein TextInput erstellen und mit allen Werten, die ich in meiner Auswahlbox verwendet. Ist so etwas möglich?

+0

Siehe Autocomplete-Funktion von jQuery – MaxZoom

+0

@MaxZoom Ich möchte nicht, dass der Benutzer aus einer bereits ausgefüllten Liste auswählt. Ich möchte ihnen erlauben, alle Eingaben einzugeben, die sie mögen, und sie beim Drücken von Enter – Green

+0

anzeigen zu lassen. Sie sollten '' selectInput' 'auf dem Server mit 'renderUI' erstellen. Dann können Sie die Auswahl reaktiv machen. – Carl

Antwort

3

Ich fand es herauszufinden, weil die selectizeInput nur um selectize.js wraps, in Ihrem selectizeInput können Sie das Argument verwenden: options = list (create = TRUE), und der Benutzer kann einfach Wörter hinzufügen.

+0

Haben Sie zufällig auch geprüft, ob "removeOption" auch funktioniert? – Mark

+0

Ich glaube nicht, dass ich das leider ausprobiert habe. Ich denke in meinem Fall war ich in der Lage, eines der Elemente im selectizeInput auszuwählen und es zu entfernen, indem ich auf das Element klicke und dann die Rücktaste auf meiner Tastatur drücke. Danach habe ich eine Schaltfläche implementiert, die mit den neuen Werten speichern würde. – Green

+0

Ich werde auf der Geitel-Seite von seletize.js nachfragen. Danke für Ihre Antwort – Mark

Verwandte Themen