Я хочу иметь возможность ссылаться 2 Выберите виджеты (select1.value
и select2.value
) в обратном вызове CustomJS, поэтому я не могу использовать cb_obj.value
.
select1 = Select(title="Level:", options=['All Levels', '1', '2', '3'], callback=callback)
Сначала я попытался ссылаться на его значение непосредственно в обратном вызове:
callback = CustomJS(args=dict(source=source, ts=true_source), code="""
var f = select1.value
Это привело к ошибке: select1 не определено:
Uncaught ReferenceError: select1 is not defined
at eval (eval at get (bokeh-1.1.0.min.js:31), <anonymous>:9:11)
at i.execute (bokeh-1.1.0.min.js:31)
at e.change_input (bokeh-widgets-1.1.0.min.js:31)
at e.change_input (bokeh-widgets-1.1.0.min.js:31)
at HTMLSelectElement.<anonymous> (bokeh-widgets-1.1.0.min.js:31)
ЗатемЯ попытался передать select1
аргументам в обратном вызове:
callback = CustomJS(args=dict(source=source, ts=true_source, select1=select1), code="""
var f = select1.value
Поскольку аргумент select1
равен callback=callback
, если я определяю select1
до того, как я определю callback
, python собираетсясгенерировать ошибку, потому что callback
был указан перед присваиванием.И наоборот, если я определю callback
перед выбранным виджетом.
Итак, я попробовал это: определение select1
дважды
select1 = ... (without the callback argument)
callback = ...
select1 = ... (with the callback argument)
Это, наконец, сгенерировало диаграмму боке.Но когда я щелкнул по виджету выбора, значения не осталось.
var f=select1.value;
console.log('Select1 type ' + f.constructor.name.toLowerCase()); // string, as expected
console.log('Value ' + f); // outputs 'Value ', so f is nothing
console.log('Select1 options ' + select1.options); // Output is as expected
select1.value
было бы не пустым, если я предоставлю аргумент значения по умолчанию для select1
:
select1 = Select(title="Level:", value='1', options=['All Levels', '1', '2', '3'], callback=callback)
Но тогда select1.value
останется '1', независимо от того, на что я изменю фактическое значение виджета.Таким образом, значение не обновляется вообще.
Я ценю помощь .. спасибо!