This one feels obvious so sorry if it has been answered before.
Is there any way for me to trigger another button press or checkbox when a different button is pressed?
i.e.
if submit_button:
other_submit_button()
This one feels obvious so sorry if it has been answered before.
Is there any way for me to trigger another button press or checkbox when a different button is pressed?
i.e.
if submit_button:
other_submit_button()
You can do the following:
agree = st.checkbox("I agree")
if agree:
st.checkbox("Great", value = True)
Value = True will set the default selection to triggered.
Bjorn,
Thanks for the response and that is helpful! but what I’m really looking for is a way to check an already rendered button.
For whatever reason, I have to press a button twice for the rest of the page to update.
Hi @posey22,
Perhaps you could do something like this. Note however that if you uncheck the first checkbox it will also uncheck the second.
import streamlit as st
cb1 = st.checkbox('a')
empty = st.empty()
empty.checkbox('b')
if cb1:
empty.checkbox('b', True)
Or
import streamlit as st
button = st.button('a')
empty = st.empty()
empty.checkbox('c')
if button:
empty.checkbox('c', True)
I don’t think there’s a way to trigger a click on a button at the moment as st.button
doesn’t accept a value argument.
However I’m interested to understand your use case for this. In what scenario do you have to press a button twice for the rest of the page to update.
?
When I press a button currently I’m submitting a sql query that updates my database with some new values. There’s a table on the page that is reflecting the data in that DB that I’m updating. That table doesn’t update when I click that button to submit the sql query. If I click update a second time it does update the table. Was just brainstorming ways to hack my way around this feature. @Jonathan_Rhone
Right now my users are hitting a checkbox to update the table which is kinda confusing for them. If the table could update whenever I click submit that would be way preferred obviously.
Hey @posey22, do you have a small toy example in order to replicate this behavior?
I’ve been playing with st.button()
and SessionState
and it works at the first time.
import streamlit as st
import SessionState
data = [1, 2, 3, 4, 5, 6, 7, 8, 9]
state = SessionState.get(table=data)
def doSqlQuery():
# sql code here
return state.table.append(len(state.table) + 1)
if st.button("Do SQL"):
doSqlQuery()
st.table(state.table)
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.