@labaget

Как сделать активным второй checkbox, если условие выключения задано в первом Jquery?

<input type="radio" class="radio1" name="shipping_method" value="<?php echo $quote['code']; ?>"
                                       />
                            <?php } else { ?>
                                <input type="radio" class="radio2" name="shipping_method" value="<?php echo $quote['code']; ?>"
                                />
                            <?php } ?>
                            <?php echo $quote['title']; ?> - <?php echo $quote['text']; ?>
                            <?php if (isset($quote['description'])) { ?>
                                <br/><small><?php echo $quote['description']; ?></small>
                            <?php } ?>
                        </label>
                    </div>
                <?php endif; ?>
            <?php } ?>

        <?php } else { ?>
            <div class="alert alert-danger"><?php echo $shipping_method['error']; ?></div>
        <?php } ?>

    <?php } ?>
<?php } ?>

<div class="save_shipping_method active">Далее</div>

<p style="display: none">
    <textarea name="comment" rows="8" class="form-control"><?php echo $comment; ?></textarea>
</p>
<div class="buttons" style="display: none">
    <div class="pull-right" style="display: none">
        <input type="button" value="<?php echo $button_continue; ?>" id="button-shipping-method"
               data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary"/>
    </div>
</div>

<script>
    $(document).ready(()=> {


        $('#shipping_method input').change((e) => {
            if (e.target.value === 'pickup.pickup' && e.target.checked) {
                $('.save_shipping_method').addClass('active')
            }
            if(e.target.value === 'cdek.tariff_10_MRG' && e.target.checked) {
                $('#selectCdekPvz').removeClass('disabled')
                
                if(!$('.cdek_selectedPvzInfo').text().length) {
                    $('.save_shipping_method').addClass('disabled') // disabled
                }else {
                    $('.save_shipping_method').addClass('active')
                }

            }else {
                $('#selectCdekPvz').addClass('disabled')
            }
        })

        const onClickCdek = $('#selectCdekPvz.disabled').attr('onclick');
        $('#selectCdekPvz.disabled').removeAttr('onclick')
        $('#selectCdekPvz').click((e) => {
            if(!document.getElementById('selectCdekPvz').classList.contains('disabled')){
                eval(onClickCdek);
            }
        });


    })
</script>


На сайте https://posezony.ru/ в корзине проблема в том, что кнопка Далее должна загораться при выборе второго способа(самовывоз, он же pickup.pickup). А при первом способе(СДЭК) она должна загораться только после того, как он выберет точку выдачи(#selectCdekPvz).
Как мне сделать правильно? Код не мой и я пытаюсь в нем разобраться
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы