2016-09-29 119 views
3

我環顧四周,嘗試了一些東西,但我似乎無法讓它工作。我希望能夠從一些js代碼更新存儲在輸入$ someVar中的值。我需要在某個元素上點擊,我需要更新輸入$ someVar的值。我知道有像「updateSelectInput()」這樣的函數,但是這些函數是從服務器調用的。從java腳本更新閃亮輸入

我可以在物理上更改HTML中用於int data屬性並顯示的數據值,但服務器不會將此視爲更改,輸入$ someVar保持不變。

我已經試過

var selectBind = Shiny.inputBindings.bindings[5]; 

selectBind.binding.setValue('#loc', newValue); 

的事件處理程序,其中#loc是輸入元素的id,在此希望我能做到這種方式中,但這給了我一個錯誤。

有沒有辦法在ui中的java腳本中執行「updateSelectInput()」的功能?

回答

4

是的,有一種方法。使用JavaScript功能Shiny.onInputChange

// change the value of an input 
    document.getElementById("id").value = "value"; 
    // report the change to shiny 
    Shiny.onInputChange("id", "value");