Ich erstelle eine Liste mit Optionsfeldern für ein Bestellformular. Jede der Fragen enthält eine Antwort, die ein div mit zusätzlichen Informationen enthält. Ich habe sie alle eingerichtet, um das Div anzuzeigen, wenn der Radio-Button geklickt wird, aber wenn Sie zur nächsten Frage gehen und auf eine Option klicken, blendet sie die obige Antwort aus und hebt den Radio-Button für die vorherige Frage auf.Anzeigen eines Div bei Auswahl des Optionsfelds
Bearbeiten Zur Klärung: Nur eine der Optionsschaltflächenoptionen sollte die zusätzliche Infobox pro Frage anzeigen. Wenn Sie also Ja zu Frage 1 anklicken, erhalten Sie eine Infobox. Wenn Sie in Frage 1 auf NEIN klicken, gibt es keine Infobox.
Ich möchte, dass die vorherigen Optionsfelder ausgewählt bleiben. Ich begann mit diesem Code und modifiziert es mehrere Fragen haben:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<style type="text/css" media="screen">
.hide{
display:none;
}
</style>
</head>
<body>
<div id="tabs">
<div id="nav">
<p>Show Div 1:<input type="radio" name="tab" value="pkfrom" class="div1" /></p>
<p>Show Div 2:<input type="radio" name="tab" value="pkfrom" class="div2" /></p>
</div>
<div id="div1" class="tab">
<p>this is div 1</p>
</div>
<div id="div2" class="tab">
<p>this is div 2</p>
</div>
</div>
<script type="text/javascript" charset="utf-8">
(function(){
var tabs =document.getElementById('tabs');
var nav = tabs.getElementsByTagName('input');
/*
* Hide all tabs
*/
function hideTabs(){
var tab = tabs.getElementsByTagName('div');
for(var i=0;i<=nav.length;i++){
if(tab[i].className == 'tab'){
tab[i].className = tab[i].className + ' hide';
}
}
}
/*
* Show the clicked tab
*/
function showTab(tab){
document.getElementById(tab).className = 'tab'
}
hideTabs(); /* hide tabs on load */
/*
* Add click events
*/
for(var i=0;i<nav.length;i++){
nav[i].onclick = function(){
hideTabs();
showTab(this.className);
}
}
})();
</script>
</body>
</html>
Hier ist die jsfiddle: https://jsfiddle.net/lenniejane/d58phaua/
Ihre Optionsfelder müssen gruppiert werden d nach Name, ruft sie alle "Registerkarte" wird sie alle in der gleichen Gruppe. – Oli