2016-09-29 123 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");