2017-04-07 15 views
1

私はhavaとid = doで動作bottonを変更したいのですが、acctionボットンをクリックするとrhm_clicという値を変更する必要があります。私は現時点でこれを持っています。サーバから光沢のある入力値を変更してください

observeEvent(input$do,{ 
    input$rhm_clic<-NULL 
}) 
+0

私の問題を解決し、あなたは '光沢:: updateXXXInput'または'光沢を使用することができます:: updateYYYButton' - あなたはセッション引数を持っている必要があります'server'関数内にあります。 '?updateNumericInput'を見てください – HubertL

+0

私は更新機能を使用しましたが、機能しませんでした。 JavaScriptからShiny.onInputChangeを使って入力を作成したからでしょうか? –

答えて

0

光沢のある入力の値をこのように変更することはできません。 input$変数を変更するには、inputText()またはactionButton()のような実際の入力プロセスで変更する必要があります。技術的には追加の方法がありますが、これは文書化されていないので、この質問には無意味です。光沢のあるinput$のような反応変数を使用する必要がある場合は、reactiveValues()関数呼び出しを使用して反応変数を作成する必要があります。値を変数に代入するだけの場合は、反応変数は必要ありません。以前に作成した値をNULLにリセットしようとすると、反応変数を作成してNULLに設定する必要があります。非反応変数に値を設定する方法や、ボタンを使用してNULLに設定する方法について説明します。

actionButton("do","Putlabelhere") 
observeEvent(input$do,{ 
    rhm_clic <- value #or NULL 
    return(rhm_clic) 
#the return is not needed but a good idea for beginners 
} 
+0

私はそのような入力を変更できないことを知りませんでした。私もあなたの方法を使いましたが、うまくいかなかったのです。最後に、JavaScriptからボタンアクションを作成し、Shiny.onInputChange JavaScript関数を使用することにしました。次のコードは、私の問題を解決しました 'HTML( ' ')、 タグ$スクリプト(' のdocument.getElementById( "mydiv")のonclick =関数(){ VAR番号= Math.random(); Shiny.onInputChange( "マイデータ"、数);} ; <ボタンのid = "mydiv" タイプ= "ボタン" クラス= "BTN BTN-デフォルトのアクションボタン光沢のある-bound- ')' –

+0

コードは私の問題を解決するには、\\ '' 'HTML(は'入力 "> 変更値 ')、 タグ$ script(' document.getElementById( "mydiv")。onclick = function(){ var number = Math.random(); Shiny.onInputChange( "mydata"、number); }; ') '' ' –

0

最後に、JavaScriptからボタンアクションを作成し、Shiny.onInputChange JavaScript関数を使用することを選択しました。次のコードは、UIでは、入力の種類に依存

#Create a button with HTML, with a specific id 
HTML('<button id="mydiv" type="button" 
class="btn btn-default action-button shiny-bound-input"> 
Change The Value</button>'), 

#Using the javaScript Shiny.onInputChange function to restore the input value. 
tags$script(' document.getElementById("mydiv").onclick = function() { 
Shiny.onInputChange("mydata", number); }; ') 
関連する問題