Несмотря на то, что множественный атрибут id в элементе HTML не приведет к возникновению какой-либо ошибки, он может привести к неожиданным результатам, например id после первого. будет игнорироваться молча. Таким образом, когда вы будете ссылаться на них (атрибуты после первого) в вашем коде, ваш код обязательно потерпит неудачу.
У вас есть несколько атрибутов id , для которых установлены переключатели. Поскольку атрибут id должен быть уникальным в документе, а первые идентификаторы не совпадают с теми, что используется в сценарии, ваш код не может скрыть / показать.
Удалите неправильный код идентификаторы из переключателей.
Обновление: Изменения, внесенные в атрибут элемента lable для путем сопоставления с id * переключателя 1024 * для размещения с bootstrap:
$(document).ready(function(){
$("#customLinkRadio").click(function(){
$("#customLink").show('fade');
});
$("#defaultPaymentMethodRadio").click(function(){
$("#customLink").hide('fade');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group row">
<label for="button_text" class="col-sm-3 col-form-label">Payment Method</label>
<div class="col-sm-8">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" name="payment_method" id="defaultPaymentMethodRadio" class="custom-control-input">
<label class="custom-control-label" for="defaultPaymentMethodRadio">Default</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" name="payment_method" id="customLinkRadio" class="custom-control-input">
<label class="custom-control-label" for="customLinkRadio">Custom Link</label>
</div>
<input type="url" name="custom_url" placeholder="https://www.yourlink.com" id="customLink" class="form-control mt-2">
</div>
</div>
Использование других id :
$(document).ready(function(){
$("#custom_link").click(function(){
$("#customLink").show('fade');
});
$("#default").click(function(){
$("#customLink").hide('fade');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group row">
<label for="button_text" class="col-sm-3 col-form-label">Payment Method</label>
<div class="col-sm-8">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="default" name="payment_method" class="custom-control-input">
<label class="custom-control-label" for="default">Default</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="custom_link" name="payment_method" class="custom-control-input">
<label class="custom-control-label" for="custom_link">Custom Link</label>
</div>
<input type="url" name="custom_url" placeholder="https://www.yourlink.com" id="customLink" class="form-control mt-2">
</div>
</div>