показать/убрать текст при переходе с кнопки на кнопу radio
Добрый день. Мне необходимо сделать кнопки radio с разными значениями, при нажатии на каждую внизу кнопки должен выводиться текст, а при переходе на другую кнопку он должен исчезать. Но у меня получилось сделать только так, что текст исчезает при нажатии на эту же кнопку второй раз, а при переходе на другую кнопку он не исчезает.
Подскажите, как можно доработать мой скрипт? for($i=0;$i<$kol_oplata;$i++) { $oplata=mysqli_fetch_assoc($sql_oplata); if(isset($_POST['oplata'])) {$checked3='checked="checked"';} else {$checked3='';} <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="<?=$oplata['oplata_id'];?>" <?=$checked3;?> onclick="var el = document.getElementById('test<?=$oplata['oplata_id'];?>'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> <?=$oplata['oplata_name'];?><br> <div id="test<?=$oplata['oplata_id'];?>" style="display:none"><?=$oplata['oplata_info'];?></div></label></p><?php }?> <label> </p> |
Цитата:
|
while($row = mysqli_fetch_assoc($sql_oplata)) { else {$checked3='';} $check = $_POST['oplata'] && $_POST['oplata']==$r['oplata_id'] ? 'checked' : null; ?> А тут в выводе html подставлять $check. Если кнопок много, то лучше функцией. |
laimas, Спасибо, исправила у себя.
Но все же, может кто-нибудь подскажет, как сделать так, чтобы текст появлялся при нажатии на кнопку и исчезал при переходе на другую? |
zazula,
покажите нормальный html -- может без скрипта обойдёмся |
while($oplata = mysqli_fetch_assoc($sql_oplata)) { $check = $_POST['oplata'] && $_POST['oplata']==$oplata['oplata_id'] ? 'checked' : null; <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="<?=$oplata['oplata_id'];?>" <?=$check;?> onclick="var el = document.getElementById('test<?=$oplata['oplata_id'];?>'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> <?=$oplata['oplata_name'];?><br> <div id="test<?=$oplata['oplata_id'];?>" style="display:none"><?=$oplata['oplata_info'];?></div></label></p> } |
zazula,
html это не php |
а как тогда? у меня все вместе.
показать результат php? <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="1" onclick="var el = document.getElementById('test1'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> Наличными при получении заказа</label></p> <div id="test1" style="display:none">Оплата производится наличными при получении товара, после проверки</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="2" onclick="var el = document.getElementById('test2'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> Банковской картой при получении заказа</label></p> <div id="test2" style="display:none">Оплата производится банковской картой через мобильный терминал при получении товара, после проверки</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="3" onclick="var el = document.getElementById('test3'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> Пластиковой картой на сайте</label></p> <div id="test3" style="display:none">Вы будете перенаправлены на сервис оплаты. Операции будут проходить в защищенном режиме.</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="4" onclick="var el = document.getElementById('test4'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> Безналичный расчет</label></p> <div id="test4" style="display:none">Мы согласуем дату доставки с Вами после оформления заказа. Укажите пожалуйста реквизиты компании, мы подготовим счет и пришлем его Вам по электронной почте. Необходимы полные реквизиты: наименование, ИНН, КПП, адреса, банковские реквизиты. Без них мы не сможем подготовить счет.</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="5" onclick="var el = document.getElementById('test5'); el.style.display = (el.style.display == 'block') ? 'none' : 'block';"/> Кредит</label></p> <div id="test5" style="display:none">Для оформления кредита на вашу покупку, заполните анкету банка партнера. С вами свяжется работник банка для уточнения деталей и оформления документов.</div> |
Открывашка 212 input type=radio
zazula,
всё это можно сделать без js немного поменяв структуру html <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> window.onload = function() { var divs = document.querySelectorAll('.op + div'), inp = document.querySelectorAll('[name="oplata"]'), fn = function(input) { input.onclick = function() { Array.prototype.forEach.call(divs, function(div, i) { div.style.display = inp[i].checked ? "block" : "none" }) } }; Array.prototype.forEach.call(inp, fn); } </script> </head> <body> <p class="op"><label><input name="oplata" class="oplata" type="radio" value="1" /> Наличными при получении заказа</label></p> <div style="display:none">Оплата производится наличными при получении товара, после проверки</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="2" /> Банковской картой при получении заказа</label></p> <div style="display:none">Оплата производится банковской картой через мобильный терминал при получении товара, после проверки</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="3" /> Пластиковой картой на сайте</label></p> <div style="display:none">Вы будете перенаправлены на сервис оплаты. Операции будут проходить в защищенном режиме.</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="4" /> Безналичный расчет</label></p> <div style="display:none">Мы согласуем дату доставки с Вами после оформления заказа. Укажите пожалуйста реквизиты компании, мы подготовим счет и пришлем его Вам по электронной почте. Необходимы полные реквизиты: наименование, ИНН, КПП, адреса, банковские реквизиты. Без них мы не сможем подготовить счет.</div> <p class="op"><label> <input name="oplata" class="oplata" type="radio" value="5" /> Кредит</label></p> <div style="display:none">Для оформления кредита на вашу покупку, заполните анкету банка партнера. С вами свяжется работник банка для уточнения деталей и оформления документов.</div> </body> </html> |
рони,
Спасибо вам ОГРОМНОЕ!!!! Я кучу форумов и сайтов перерыла в поисках, но ничего подобного не нашла! |
Часовой пояс GMT +3, время: 23:15. |