Hello. I have two selectboxes and i want to reset the value of one of them when the user selects from the other one. Is there any way to do this? Thamks
Hi @elwyn, welcome to the community!
reset the value of one of them when the user selects from the other one
Could you elaborate on what you mean by that, perhaps with an example?
Happy Streamlit-ing!
Snehan
Hello and thamks for the welcome
In short, how can I set the value of a âtext-inputâ from code?
Say, when the user presses a button, the value of âtransportâ text_input should be set to â10â
transport = st.text_input('Transport', 0)
if st.button('Set transport to 10'):
transport = 10
^I tried something like this but it doesnât change the âtext_inputâ value, only the variable
You could set the value of your transport text_input box to be a variable (youâll need to assign that variable a value first), and then have the button change the value of that variable?
Hi @elwyn ,
Will this work for you ?
import streamlit as st
emp = st.empty()
transport = emp.text_input('Transport', 0)
# Probably you don't need slider, just to show that the value can be variable user Input
val = st.slider(label = 'Transport value',min_value= 1,max_value = 20 )
if st.button('Set transport to 10'):
# Insted of val, just plug in 10, if exactly that's what you need
transport = emp.text_input('Transport', val)
Best,
Avra
Hello ac3, thamks for the reply.
You mean something like this? Tried it, doesnât seem to work.
val = 0
transport = st.text_input('Transport', val)
if st.button('Set transport to 10'):
val = 10
@AvratanuBiswas 's solution works fine though
Yes! Thank you so much. It works perfectly like this
What if i also want the text_input to have a certain width?
Normally it goes smth like
col1, col2 = st.beta_columns([2, 1])
transport = col1.text_input('Transport', 0)
stock = col2.text_input('Stock', 0)
But if i replace âcol1â with âempâ, it will have full-widthâŠ
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.