mit Checkboxen einen Berecih sichtbar machen

evoleena

Erfahrenes Mitglied
mit Checkboxen einen Bereich sichtbar machen

Und zwar habe ich ein Formular, bei dem soviele Checkboxen wie Einträge in der DB existieren erstellt werden, sind durchgängig 9
PHP:
echo"<input type='checkbox' name='zimmer[]' onclick='javascript:wechsel(document.checkbox.box1)' value='".$Z_ID."'></td><td>";
desweiteren erscheinen weiter unten im Formular 9 select felder und input felder mit Hilfe einer Schleife
PHP:
for($i=1;$i<>10;$i++)
             {
             echo"<td>
             <div id='id[]' style='visibility:hidden' name='textfeld'>
             <select name='status[]'>
              <option value=''></option>
              <option value='Fam'>Fam</option>
              <option value='B_M'>B_M</option>
              <option value='B_W'>B_W</option>
              <option value='J_M'>J_M</option>
              <option value='J_W'>J_W</option>
              <option value='K'>K</option>
             </select><br>Anzahl <input type='text' name='anzahl[]' value='' size='1' maxlength='2'></td></div>";
             }
             echo"

und nur sind die Felder hidden, wenn ich aber oben die entsprechende Checkbox markiere, soll der Bereich unten sichtbar werden
wie muss ich das Anstellen

meine java script Funktion sieht so aus
HTML:
<script type="text/javascript">
function wechsel(box1)
{
if(box1.checked)
{
document.all.textfeld.style.visibility="visible";
}
else
{
document.all.textfeld.style.visibility="hidden";
}
}
</script>

Ich hoffe ihr versteht mein Anliegen und könnt mir helfen
 
Zuletzt bearbeitet:
Als erstes mal ist das all Element afaik nur im IE gültig, von daher würd ich das schon mal im hohen Bogen aus dem Script kicken.
Desweiteren sollte box1.checked nicht viel bringen.
Dann müsste das schon eher so aussehen;
if(document.formular.box1.checked == true)

formular=name des Formulars
box1=Name des Checkboxelements
 
Ich muss sagen, ich hab leider nicht genau verstanden, was du verstecken willst.
Also könntest du das nochmal 'n bischen genauer beschreiben?

P.S.: Nimm bitte das Diebspiel aus deiner Signatur...
Diese Dinger sind so kindisch...
 
Zuletzt bearbeitet:
Naja besser als oben kann ich es nicht erklären. Ich will die 9 per Schleife generierten Dopdown Menüs und das inputfeld verstecken.
wenn ich dann z.B. checkbox 1 aktiviere, soll unten auch wirklich nur zur 1 gehörig das dropdown menü und das input feld zu sehen sein.
wenn ich halt noch die letzte chekbox aktiviere, muss unten das gleiche sichtbar werden
 
Code:
<script type="text/javascript">
<!--
function wechsel(objButton)
{
    for(a = 0; a < objButton.form.elements[objButton.name].length; ++a)
    {
        if(objButton.form.elements[objButton.name][a] == objButton)
            {
                c=0;
                
                for(b = 0; b < document.getElementsByTagName('DIV').length; ++b)
                    {
                        objDiv = document.getElementsByTagName('DIV')[b ];
                        if(objDiv.id == 'id[]')
                            {
                                if(a==c)
                                    {
                                        objDiv.style.visibility=(objButton.checked)?'visible':'hidden';return;
                                    }
                                else
                                    {
                                        c++;
                                    }
                            }
                    }
            }
    }
}
//-->
</script>
Aufruf in der Checkbox per
Code:
onclick="wechsel(this)"
Vorraussetzung:
es gibt in der Seite genausoviele <div>'s mit der ID id[], wie Checkboxen mit dem Namen der anzuklickenden Boxen(also zimmer[])... sollte nach deiner Beschreibung der Fall sein.

Anm.:Ein div hat kein name-Attribut.
Weiterhin musst du den <div>-Tag innerhalb der Zelle schliessen.
 

Neue Beiträge

Zurück