有人可以告诉我如何捕获“选择”小部件中选择的选项。 我尝试了以下操作,并期望当我在下拉菜单中更改选择时,它应该打印新选择的选项。但它没有发生。
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)
答案 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问题来提出更好的验证。