无法在散景中触发选择事件

时间:2016-10-07 22:58:44

标签: python-2.7 bokeh

有人可以告诉我如何捕获“选择”小部件中选择的选项。 我尝试了以下操作,并期望当我在下拉菜单中更改选择时,它应该打印新选择的选项。但它没有发生。

from bokeh.models.widgets import Select
from bokeh.io import output_notebook, show, vform
from bokeh.models import CustomJS

output_notebook()
states=['VA','MD','SC']

select = Select(title="Select State:", value="VA", options=states)

show(vform(select))

def call(attr,old,new):
    print new

select.on_change('value',select,call)

1 个答案:

答案 0 :(得分:0)

您正在正确呼叫on_change。它需要:要响应的属性的名称和回调。您不需要传递对象,因为on_change已经是对象的方法。你想要:

select.on_change('value', call)

此外,我建议这是一个好主意,并且几乎总是更有效率地尝试并找到一个起作用的示例,然后尝试修改它以满足您的需求。该库的作者努力将许多示例添加到GitHub仓库中,以便用户可以从中学习。其中一些显示了工作Select小部件。这是一个特别的:

https://github.com/bokeh/bokeh/blob/master/examples/app/stocks/main.py

顺便说一句,我真的很惊讶on_change电话不会立即出现错误,就像你拥有它一样。请考虑通过提出GitHub问题来提出更好的验证。