Check Box Built-in States

Oct 05, 2013

I am using a series of check boxes where learners check off statements that they think meet a certain criteria. This is not a quiz slide. I want to be able to make sure they check at least one box before proceeding to the answer display. 

I am using a standard check box control. The state of these check boxes changes to "Selected" when clicked and when the checkmark displays in the box. However, when you click the check box a second time, the checkmark disappears, but the state does not change to Normal. It appears that the check boxes toggle to checked/unchecked, but the state of the control does not change once it has been selected the first time.

So, if a user clicks a few boxes, then unchecks them, the state is still recorded as "Selected."

I cannot find any reference on how the built-in button states work. Is there any information available?

31 Replies
Jagadish Kolagani

I've been looking at some of the responses and I'm glad that people are helping each other. I have a problem with check boxes too.

I don't want to use a template, instead would like to create a quiz manually. So here is the scenario: (It'll be great, If anyone could help).


Creating a multiple response question with the below conditions.

1. Select two key features of blockchain?

a. Decentralized Systems (Correct Answer)
b. Automation
c. Minting (Correct Answer)
d. Security

Note: I'd like to create a submit button manually and not use Storyline default button. The initial state of ‘Submit’ button should be disabled. Once the user selects any 2 options, the button becomes normal. However, if the person selects more/less than 2 options, the ‘Submit’ button remains disabled.

Please Help!

Andrew Hanley

Jagadish, this is definitely doable and something I do all the time - when you need that bespoke look and feel rather than the Storyline mechanics.

However, it would be a little bit much to explain the entire way of setting it all up on a forum! :)

So have a go and come back if you run in to any problems.

I would start by laying all the design assets out on the slide, then create two states for each of your buttons "ON"/"OFF" (or whatever you want to call them) Now trigger these states when clicked. Finally, set your SUBMIT button to "Disabled" and then trigger it to change to "Normal" when your answer buttons have been clicked.

Jagadish Kolagani

Hey Andrew, Thank you for your response. It helped. I was able to work with check boxes, however, I'm stuck at the Submit button. I'm trying to figure out how to do the following:

1. 'Submit' button to be in the 'Normal' state till the user selects any two options from the multiple response Quiz

2. 'Submit' button should change to 'Selected' state when the user selects ONLY two from the four options available.

3. 'Submit' button should change to 'Normal' State from 'Selected' state, if the user chooses to 'deselect' one of the two options selected OR if the user chooses more than two options.

4. 'Submit' button should display layer 'Correct' only when the user selects Option01 and Option03 as the answers and clicks Submit.

5. 'Submit' button should display layer 'Incorrect' when the user selects any two options other than the ones mentioned in point 4.


I have attached the story file I'm working on for your reference (If that helps you).

Leslie McKerchie

Hello Jagadish,

Thanks for sharing the slide you're working on in a .story file. That made it a bit easier to understand where you are at and headed with your project.

I added a second slide to demonstrate a more 'built-in' method of setting this up using the freeform pick one question type and submit button.

I'm curious if you need a custom submit button and/or wanted auto-submit of the interaction.

Let me know what you think of slide two in the attached file.

Michael Stuart

Hi!  I am also struggling with check box states changing the state of other objects. Unfortunately, my firewall prevents me from downloading any examples attached here, else I might have figured it out by now.  If I can describe what I want, perhaps someone can describe the steps to take to accomplish this:

1. I have 8 check boxes that a user would select to indicate their support role for a nuclear power plant.  They can have one or many support roles.

2. I have 4 buttons (A, B, C, and D) that provide a student mandatory or optional training based on which of the 8 check boxes they select (one or many).

The logic is very clear: Check box one exempts them from C and D.  Check box two exempts them from C only.  Check box 3 exempts them from D only.

The rest of the check boxes have no exemptions.  And if they're checked the exempt paths go revert back to mandatory.

I can easily set it up, so that when multiple check boxes are selected, the previously optional path(s) become mandatory again.  But what I can't figure out is if they mistakenly check a box, and then UNcheck that same box, how to make the optional paths revert back to mandatory.  It's easy if I have them check another box, but then it becomes confusing.  Why can't an action be triggered by UNchecking a box?

If someone can describe what must be done in order to trigger an evaluation and change the state of A,B,C, and D when a box is UNchecked, please post that description.  As I said, I can't download the attachments due to cyber security rules.  Many thanks!

Andrew Hanley

@michael - I think I understand the situation you are facing. If I have it correct, the problem is that the "checked" state isnt being removed even though visually, the user has clicked to remove the  check mark.


Im almost certain this will be because of the in-built states. As Phil said right at the start of this thread, the "NORMAL" state in SL doesnt work how we might think it should sometimes, so Im going to suggest that is the first place to look for your culprit.

If you are allowing the check mark to revert to "normal" state when UNchecked, then I would choose a different state.

If that doesnt work, or you arent using NORMAL, then set up your very own custom state for "checked" and "unchecked" and use these via triggers.

If you set a custom layer and put the triggers on this for all the logic in your slide, then you should end up with a fairly neat but robust solution that can be expanded and edited very quickly.