2014-10-01 3 views
4

내 반짝이는 앱에 또 다른 문제가 있습니다. 목표는 사용자가 actionButton을 누를 때 내 앱에서 일부 입력을 비활성화하는 것입니다. 난 this textinputs 및 숫자 입력을 위해 잘 작동하지만, 이상하게도 selectinput 또는 selectizeinput 솔루션을 찾았습니다. 내가 솔루션을 어떻게 든 자바 스크립트를 사용하여 포함 된 알아,하지만 난 모르겠다.입력 선택 사용 안 함

미리 도움을 청하십시오!

편집 :

아마도 내가 충분히 명확하게 만들지 않았을 것입니다. 미안! 필요한 코드 덩어리를 추가하겠습니다.

이것은 링크의 비활성화 기능입니다. actionButton과 숫자 입력에서는 정상적으로 작동하지만 입력을 선택하거나 선택하면 작동하지 않습니다.

disableActionButton <- function(id,session) { 
    session$sendCustomMessage(type="jsCode", 
          list(code= paste("$('#",id,"').prop('disabled',true)" 
              ,sep=""))) 
    disableselectButton <- function(id,session) { 
    session$sendCustomMessage(type="jsCode", 
          list(code= paste("$('#",id,"').prop('select',false)" 
              ,sep=""))) 

    disableselectButton <- function(id,session) { 
    session$sendCustomMessage(type="jsCode", 
          list(code= paste("$('#",id,"').prop('hide',false)" 
              ,sep=""))) 

다음은 입력이 비활성화되지 않는 예입니다. 내가 말했듯이 해결책은 아마 javascript에있다. 그러나 나는 정직함을 알지 못한다. hide = true oder select = false와 같은 다른 prob를 시도했습니다.이 옵션은 작동하지 않습니다 (위에서도 작동하지 않는 함수를 볼 수 있습니다).

selectInput("algorithmicMethod1", 
           label=h5("Berechnungsalgorithmus erster Wahl"), 
           c("RoT","Pickands"), 
           selected="RoT"), 

        conditionalPanel(condition="input.algorithmicMethod1 =='RoT'", 

            selectInput("algorithmicMethod2", 
               label=h5("Berechnungsalgorithmus zweiter Wahl"), 
               "Pickands", 
               selected="Pickands")), 

        conditionalPanel(condition="input.algorithmicMethod1 =='Pickands'", 

            selectInput("algorithmicMethod2", 
               label=h5("Berechnungsalgorithmus zweiter Wahl"), 
               "RoT", 
               selected="RoT")) 

그렇다면 선택/선택 입력을 비활성화하는 다른 방법이 있습니까?

다시 한 번 감사드립니다 :)

+0

를 잘 작동하지만, 아마 당신은 몇 가지 스크린 샷을 첨부하여 명확하게 할 수 있습니다 반짝 이는 응용 프로그램의 워크 플로우 – Alex

+0

안녕하세요, 아무도 도와 줄 수있는 사람이 있습니까? 감사합니다 :) – Richard

답변

4

솔루션 : 당신이 내 패키지 shinyjs을 사용할 수 있습니다 - 당신은 그냥 shinyjs::disable(id)를 호출하고 작동합니다.. 그것은 매우 간단하지 왜


설명 : 문제는 selectize를 사용하는 경우, 그냥 꽤 HTML 또 다른 선택 상자를 생성하지만 실제 HTML 입력 요소 아니라고, 그래서이 응답하지 않습니다 disabled 속성은 실제 HTML 태그와 같습니다. selectize.js 문서를 보면 JS를 사용하여 selectize를 비활성화 할 수 있지만 반짝이는 것은 그리 편리하지 않습니다. :(당신이 selectize (selectInput(selectize = FALSE))를 사용하지 않는 경우

는 사용하지 않도록 설정하면이 질문을 downvoted 이유를 모르겠어요.