Cart Licenses Contact Support Online Creator Login/Register
v 1.9.38

Conditional visibility

            Survey.defaultBootstrapCss.navigationButton = "btn btn-green";

                    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",
      "visibleIf": "{haveKids}='Yes'",
      "isRequired": true,
      "choices": [ 1, 2, 3, 4, 5 ]
      "type": "dropdown",
      "name": "kid1Age",
      "title": "The first kid age:",
      "visibleIf": "{haveKids}='Yes' and {kids} >= 1",
      "isRequired": true,
      "choicesMax": 18
      "type": "dropdown",
      "name": "kid2Age",
      "title": "The second kid age:",
      "visibleIf": "{haveKids}='Yes' and {kids} >= 2",
      "isRequired": true,
      "startWithNewLine": false,
      "choicesMax": 18
      "type": "dropdown",
      "name": "kid3Age",
      "title": "The third kid age:",
      "visibleIf": "{haveKids}='Yes' and {kids} >= 3",
      "isRequired": true,
      "choicesMax": 18
      "type": "dropdown",
      "name": "kid4Age",
      "title": "The fourth kid age:",
      "visibleIf": "{haveKids}='Yes' and {kids} >= 4",
      "isRequired": true,
      "startWithNewLine": false,
      "choicesMax": 18
      "type": "dropdown",
      "name": "kid5Age",
      "title": "The fifth kid age:",
      "visibleIf": "{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(, null, 3);

<!DOCTYPE html>
<html lang="en">
    <title>Conditional visibility, Knockoutjs Survey Library Example</title>
<meta name="viewport" content="width=device-width" />
    <script src=""></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 rel="stylesheet" href="">
    <link rel="stylesheet" href="./index.css">

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

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



Clear values for invsible questions on survey complete, default value is "onComplete".
  • none - do no clear values for invisible questions.
  • onComplete - clear values for invisible questions survey completing. Before sending data to the server.
  • onHidden - immediately clear value after a question becomes invisible.
survey.clearInvisibleValues = yourValue;


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.

Approximate time to complete: 2 min.

Start the survey