2016-02-08 18 views
7

Otomatik arama dizgelerini kullanarak çoklu değerler seçmek mümkün olabilir mi?Otomatik tamamlama ve metin kutusundaki çoklu değerlerin seçilmesi parlak

dataset<-cbind("John Doe","Ash","Ajay sharma","Ken Chong","Will Smith","Neo"....etc) 

Bir oto

ui.R

shinyUI(fluidPage(
    titlePanel("test"), 

    sidebarLayout(
    sidebarPanel(
     helpText("text"), 

     textInput("txt","Enter the text",""), 
     #Pass the dataset here for auto complete 

    ), 

    mainPanel(
     tabsetPanel(type="tab",tabPanel("Summary"),textOutput("text2")) 

    ) 
) 
)) 

server.R

benim metin kutusuna doldurup benim server.R bunu geçerken yukarıdaki veri kümesinden birden çok değişkeni seçmek istiyor
# server.R 

shinyServer(function(input, output) { 

output$text2<- renderText({ 
paste("hello",input$txt) 

}) 


} 
) 

EDITED

mulitiple varialbes'i seçmek için shinysky'den select2input'u kullandım ama şimdi seçili değerleri almak için submit butonunu ekledim.

#ui.R 
select2Input("txt","This is a multiple select2Input",choices=c("a","b","c"),selected=c("")), 

actionButton("go","submit") 

seçtiğim seçeneği bağlamak istediğiniz kullanıcının seçtiği a diyelim ve c ardından yeni değişken

#server.R 
input$go #if pressed submit button 
var<-cbind("a","c") 
output$text<-renderText({ print ("var")}) 

ama bu shinysky paket ve textInput.typeahead içine

+3

Düzenlemenizin temel sorudur yeniden kullanabilirsiniz. Sorgumu tekrar düzenlerim, ama bir dahaki sefere –

cevap

11

Bak çalışmıyor. textinput'un stilini kendiniz daha da özelleştirebilirsiniz. Düzenleme: I isteğe göre enter image description here

enter image description here

rm(list = ls()) library(shinysky) library(shiny) my_autocomplete_list <- c("John Doe","Ash","Ajay sharma","Ken Chong","Will Smith","Neo") ui <- shinyUI( fluidPage(tags$style(type="text/css",".shiny-output-error { visibility: hidden; }",".shiny-output-error:before { visibility: hidden; }"), tags$style(type="text/css","#search { top: 50% !important;left: 50% !important;margin-top: -100px !important;margin-left: -250px !important; color: blue;font-size: 20px;font-style: italic;}"), mainPanel( # one way of doing it textInput.typeahead(id="search", placeholder="Type your name please", local=data.frame(name=c(my_autocomplete_list)), valueKey = "name", tokens=c(1:length(my_autocomplete_list)), template = HTML("<p class='repo-language'>{{info}}</p> <p class='repo-name'>{{name}}</p>") ), br(),br(), # using select2Input select2Input("select2Input1","",choices=c(my_autocomplete_list),type = c("input", "select")) ) ) ) server <- function(input, output, session) {} shinyApp(ui = ui, server = server) 

referans

ayrıca shinysky paketinden select2Input ile Düzen 2 örnek ilave edildi. Lütfen, yaptığınız gibi, reactive ifadelerinde nesnelerinizi sarın. var <- reactive({...}) böylece bunları yapmak çok basit gibi shiny` `kadar okumalısınız, bu sonradan

rm(list = ls()) 

library(shinysky) 
library(shiny) 

my_autocomplete_list <- c("John Doe","Ash","Ajay sharma","Ken Chong","Will Smith","Neo") 

ui <- shinyUI(
    fluidPage(sidebarPanel(select2Input("txt","",choices=c("a","b","c"),selected=c("")), br(),actionButton("go","submit"), width =2), 
      mainPanel(textOutput('text')) 
) 
) 

server <- function(input, output, session) { 

    var <- reactive({ 
    if(input$go==0){return()} 
    isolate({ 
     input$go 
     cbind("a","c") 
    }) 
    }) 
    output$text <- renderText({var()}) 
} 
shinyApp(ui = ui, server = server) 
+1

yeni bir soru gönderirim shinysky'ye işaret ettiğin için teşekkürler .. shinysky'de bu fonksiyon 'select2Input()' benim kodum için daha uygundur .. Bir kez daha teşekkürler – Eka

+0

Bir kez daha ilave şüpheler ekledim sorum bana yardım edermisin – Eka

İlgili konular