Показать / скрыть поля проверки в соответствии с ответом на предыдущий вопрос - PullRequest
0 голосов
/ 23 апреля 2020

Я использую многошаговый плагин оформления заказа.

Я спрашиваю клиентов, есть ли у них аллергия, используя флажки. Первый флажок - none , за которым следует курица, говядина et c.

I * sh, чтобы снять флажок none и задайте этот вопрос до этого. Например, я хочу спросить "1027 *" у вас есть диетические требования? " и обработайте yes или no в качестве переключателя.

I wi sh, чтобы скрыть опции аллергий по умолчанию, и показывать этот вопрос, только если клиент выбирает да в вопросе выше. Буду признателен за совет.

Рекомендуется или плохо использовать что-то подобное?

$('.dietary_restrictions').click(function() {
    if($(this).is(":checked")) {
        $('.additional_allergies').show();
    } else {
        $('.additional_allergies').hide();
    }
})

Кроме того, мой плагин оформления заказа поддерживает условные вопросы, но варианты показа и скрытия вопросов раскрывающийся список, позволяющий отображать и скрывать только на основе информации о клиенте или продукте, а не на основе вопросов или ответов.

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

это jquery, и вам нужно поместить внутрь и использовать jQuery вместо $

<script>
function dietary_restrictions() {
    jQuery('input#dietary_restrictions').click(function() {
        if($(this).is(":checked")) {
            jQuery('input#additional_allergies_field').show();
        } else {
            jQuery('input#additional_allergies_field').hide();
        }
}
</script>

или просто вставить его в файл. js внутри jQuery (документ). готовый ({});

0 голосов
/ 23 апреля 2020

Я использовал это, и это сработало.

<script type="text/javascript">
$('#dietary_restrictions').click(function() {
    if($(this).is(":checked")) {
        $('#additional_allergies_field').show();
    } else {
        $('#additional_allergies_field').hide();
    }
})
</script>

и мне пришлось установить css, чтобы скрыть идентификатор по умолчанию.

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