Cambiar contenido en problemas desplegables

Quiero un menú desplegable que si selecciono value1 Obtengo un par de campos de entrada, y si selecciono value2 Obtengo algunos otros campos de entrada. Así que encontré este código en línea y estoy tratando de ajustarlo a mis necesidades. Desafortunadamente no funciona, las tablas SIEMPRE se muestran. Si no trabajo con tablas (solo texto sin formato), el código funciona.

Javascript

<script type='text/javascript' src='http://jsfiddle.net/js/lib/mootools-core-1.4.5-nocompat.js'></script>
<script type='text/javascript'> 

function showForm(id) {
    document.getElementById('submitForm').style.display = "block";
    if (id == 0) {
        document.getElementById('submitForm').style.display = "none";
    }
    for (var i = 1; i < 4; i++) {
        if (i == id) {
            document.getElementById(i).style.display = 'block';
        } else {
            document.getElementById(i).style.display = 'none';
        }
    }
}
</script>

HTML

<table>
        <tr>
            <td>Selecteer uw materiaal: </td>
            <td>
            <select id="dropdownMenu" name="dropdownMenu" onchange="javascript: showForm(document.getElementById('dropdownMenu').value);">
                <option value="0">Choose an option</option>
                <option value="1">Option 1</option>
                <option value="2">Option 2</option>
                <option value="3">Other</option>
            </select></td>
        </tr>
    <div id="1" style="display: none;">
    <tr>
        <td>Aantal videobanden: </td>
        <td><input type="text" name="aantalVideo" value="" /></td>
    </tr>
    <tr>
        <td>Geschatte speelduur (in minuten): </td>
        <td><input type="text" name="duurVideo" value="" /></td>
    </tr>
    </div><!-- /1 -->
    <div id="2" style="display: none;">
    <tr>
        <td>Aantal spoelen: </td>
        <td><input type="text" name="aantalSpoelen" value="" /></td>
    </tr>
    <tr>
        <td>Geschatte speelduur (in minuten): </td>
        <td><input type="text" name="duurSpoelen" value="" /></td>
    </tr>       
    </div><!-- /2 -->
    <div id="3" style="display: none;">
    <tr>
        <td>&nbsp;</td>
        <td>Overig</td>
    </tr>
    </div><!-- /3 -->
    <div id="submitForm" style="display: none;">
    <tr>
        <td>&nbsp;</td>
        <td><input value=" Order aanmaken " type="submit"></td>
    </tr>
    </div><!-- /submitForm -->
    </table>

preguntado el 31 de julio de 12 a las 11:07

¿Estás abierto a usar jquery? -

1 Respuestas

¿Por qué no le das esas identificaciones a los elementos tr en lugar de crear div? Intenté cambiar algo de la estructura de la página. Funcionó. Asigné los identificadores dados a los elementos div a los elementos tr en ellos y funcionó.

Respondido 31 Jul 12, 11:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.