You will have to use either JavaScript or LiveView for this. Any preference between these two options?