Cart Licenses Contact Support Online Creator Log in/Register
Try
Free
v 1.9.44

Condition - Enable/Disable elements


                        
        
            Survey.StylesManager.applyTheme("modern");
        



                
                    var json = {
  "showQuestionNumbers": "off",
  "elements": [
    {
      "type": "radiogroup",
      "name": "haveKids",
      "title": "Do you have a kid(s)?",
      "isRequired": true,
      "choices": [ "Yes", "No" ],
      "colCount": 0
    },
    {
      "type": "dropdown",
      "name": "kids",
      "title": "How many kids do you have",
      "enableIf": "{haveKids}='Yes'",
      "isRequired": true,
      "choices": [ 1, 2, 3, 4, 5 ]
    },
    {
      "type": "dropdown",
      "name": "kid1Age",
      "title": "The first kid age:",
      "enableIf": "{haveKids}='Yes' and {kids} >= 1",
      "isRequired": true,
      "choicesMax": 18
    },
    {
      "type": "dropdown",
      "name": "kid2Age",
      "title": "The second kid age:",
      "enableIf": "{haveKids}='Yes' and {kids} >= 2",
      "isRequired": true,
      "startWithNewLine": false,
      "choicesMax": 18
    },
    {
      "type": "dropdown",
      "name": "kid3Age",
      "title": "The third kid age:",
      "enableIf": "{haveKids}='Yes' and {kids} >= 3",
      "isRequired": true,
      "choicesMax": 18
    },
    {
      "type": "dropdown",
      "name": "kid4Age",
      "title": "The fourth kid age:",
      "enableIf": "{haveKids}='Yes' and {kids} >= 4",
      "isRequired": true,
      "startWithNewLine": false,
      "choicesMax": 18
    },
    {
      "type": "dropdown",
      "name": "kid5Age",
      "title": "The fifth kid age:",
      "enableIf": "{haveKids}='Yes' and {kids} >= 5",
      "isRequired": true,
      "choicesMax": 18
    }
  ]
};

                    window.survey = new Survey.Model(json);
                
        
            survey.onComplete.add(function(sender) {
            document.querySelector('#surveyResult').textContent =
            "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
            });
        
            
                survey.render("surveyElement");
            

                    
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Condition - Enable/Disable elements, Knockoutjs Survey Library Example</title>
    
<meta name="viewport" content="width=device-width" />
    <script src="https://unpkg.com/knockout@3.5.1/build/output/knockout-latest.js"></script>
    <script src="/DevBuilds/survey-core/survey.core.min.js"></script>
    <script src="/DevBuilds/survey-core/survey.i18n.min.js"></script>
    <script src="/DevBuilds/survey-knockout-ui/survey-knockout-ui.min.js"></script>
    <link href="/DevBuilds/survey-core/modern.min.css" type="text/css" rel="stylesheet" />
    <link rel="stylesheet" href="./index.css">

</head>
<body style="margin: 0">
    
            <div id="surveyElement" style="display:inline-block;width:100%;">
            </div>
    <div id="surveyResult"></div>

<script type="text/javascript" src="./index.js"></script>

</body>
</html>
Settings

You may use absolutely the same expression to enable/disable questions as use in visibleIf properties. The only difference, the property clearInvisibleValues doesn't work here, since a question stays visible.

Please review examples of using visibleIf in this section: "Complex questions in expressions", "Use custom functions in expressions" and "Conditions in dynamic questions"

Tell Us What You Think

Help us serve you better by taking this brief survey.
We are interested to learn more about your
experience of using our libraries.

We'd really appreciate your feedback.

Start the Survey

Approximate time to complete: 2 min.