How to take user input multiple times in Streamlit?

Hi there,

I am facing the issue with below error and will you please help me in sorting this out or an alternate solution for the same.

DuplicateWidgetID: There are multiple identical st.selectbox widgets with the same generated key.

When a widget is created, it’s assigned an internal key based on its structure. Multiple widgets with an identical structure will result in the same internal key, which causes this error.

To fix this error, please pass a unique key argument to st.selectbox.

Hi @Sai95 , two/ more of your widgets have the same id. This is because:

  1. You have 2/more widgets with the same label and no key defined. To rectify this: either change the label or add different keys
  2. You have 2/more widgets with the same key. Here, if the keys are same but the widget label is different (just delete the keys if you do not want to access the widget values in callbacks); otherwise just change the keys so that each widget has its own unique key.

In case you are generating the widgets from within a loop, just add a increment number to the widget key to make it unique.


Dear @Shawn_Pereira , Thanks for helping me with your Answer and It really worked well. :slight_smile:

1 Like