此答案不再适用于bokeh版本2.XX。请参阅下面的评论和其他答案。
如果您设置on_change例如如下:
dropdown.on_change('value', function_to_call)
可以按以下方式访问所选项目的值function_to_call
:
def function_to_call(attr, old, new):
print dropdown.value
为此,必须在function_to_call之前定义下拉列表。
您可以在页面顶部找到有关如何使用on_click和on_change(散景版本12.1)访问在小部件中设置的值的文档:
http://docs.bokeh.org/en/latest/docs/user_guide/interaction/widgets.html
要获得交互式反馈,您必须在服务器模式下运行bokeh,以便在与小部件进行交互时可以评估python代码。我略微更改了您的示例,以允许与
bokeh serve --show file_name.py
命令。然后,下面的代码在终端中打印出所选项目。
from bokeh.io import output_file, show
from bokeh.layouts import widget@R_298_2419@
from bokeh.models.widgets import Dropdown
from bokeh.plotting import curdoc
menu = [("Quaterly", "time_windows"), ("Half Yearly", "time_windows"), None, ("Yearly", "time_windows")]
dropdown = Dropdown(label="Time Period", button_type="warning", menu=menu)
def function_to_call(attr, old, new):
print dropdown.value
dropdown.on_change('value', function_to_call)
curdoc().add_root(dropdown)
浏览此处获取更多信息: