Показать DIV во встроенном DIV на HTML выберите с помощью javascript - PullRequest
1 голос
/ 28 марта 2020

Я пытаюсь создать страницу, на которой люди запускают вопросник, выбирая START в веб-форме - он открывает DIV для первого вопроса.

По мере того, как они отвечают на каждый вопрос (да / нет выбора ) он либо открывает DIV, специфицирующий c для этого вопроса, который говорит «НЕТ - GO AWAY Потому что XXXX», либо поднимает следующий вопрос в новом DIV ... это повторяется примерно 8 раз.

До сих пор я могу получить ПЕРВЫЙ вопрос, но он ничего не сделает, когда я выбираю ответ на вопрос 1 - он ДОЛЖЕН заставить Q2 DIV появляться или предоставлять контекст DIV, почему они не могут продолжить.

У меня есть (очень) урезанное демо в этой ссылке jsfiddle

Код HTML:

image

Javascript

    <script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.js"></script>


    <script>
      $(function () {
        $("#requestSelect").change(function() {
          var val = $(this).val();
          if(val === "HealthCheck") {
            $(".clearAll").hide();
            $(".HealthCheck").show();
          }
        });
      });
    </script>

    <script>
                $(function () {
                $("#HealthCheck1").change(function() {
                    var val = $(this).val();
                    if(val === "HealthCheck1Yes") {
                        $(".HealthCheck1Yes").show();
                    }
                    else if(val === "HealthCheck1No") {
                        $(".HealthCheck1No").show();
                    }
                }
            });
    </script> 

[Редактировать - Исправлено JSFiddle]

1 Ответ

0 голосов
/ 28 марта 2020

Вы пропустили закрытие вашей функции в конце }):

$("#HealthCheck1").change(function() {
    var val = $(this).val();
    if(val === "HealthCheck1Yes") {
        $(".HealthCheck1Yes").show();
    }
    else if(val === "HealthCheck1No") {
        $(".HealthCheck1No").show();
    }
});

Рабочая jsfiddle

Есть несколько других рекомендаций, которые следует рассмотреть для вас:

  1. Используйте правильный синтаксис самозакрывающихся тегов HTML. Используйте <br /> вместо </br>.

  2. Используйте правильный отступ (для всех документов), это поможет вам быстрее находить закрытые функции и другие ошибки.

  3. Поместите javascript в соответствующий файл и добавьте его потом <script src="myscripts.js"></script>. Это позволит вашему редактору кода (например, intellij) обнаруживать проблемы с простым закрывающим тегом / функцией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...