Javascript下拉列表更改样式显示不起作用

时间:2014-12-27 16:43:41

标签: javascript css styles

我有一个包含2行的表,每行都有一个ID来切换可见性:

<table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>'.$text_tier_show.':</td>
        <td>
            <select name="showart" onchange="show_toggle(this.value)">
              <option value="">-- Bitte Show w&auml;hlen --</option>
              <option value="1">Vliesshow</option>
              <option value="2">Tiershow</option>
              <option value="3">Gymkhana</option>
              <option value="4">Nachzucht Hengst</option>
              <option value="5">Nachzucht Stute</option>
            </select></td>
      </tr>
      <tr id="gkanreise" style="display:none;">
        <td></td>
        <td>Gymkhana anreise</td>
      </tr>
      <tr id="nachzucht" style="display:none;">
        <td colspan="2">Nachzuchten</td>
      </tr>
    </table>

默认情况下,这两行都是隐藏的,但当有人点击下拉列表中的第三行时,我想显示第一行,而下拉列表的第4行和第5行则显示第二行。

我使用的javascript如下:

function show_toggle(show){
    var g = document.getElementById("gk_anreise");
    var n = document.getElementById("nachzucht");
                g.style.display = 'none';
                n.style.display = 'none';
    switch(show){
      case 3:
                g.style.display = 'block';
        break;
      case 4:
                n.style.display = 'block';
        break;
      case 5:
                n.style.display = 'block';
        break;
    }
}

但整件事情都没有奏效。我在下拉列表中选择的内容并不重要,它没有显示任何内容。 有谁可以帮助我吗。 提前感谢您的帮助。 Burzi

1 个答案:

答案 0 :(得分:0)

更改ID

document.getElementById("gk_anreise");document.getElementById("gkanreise");

还将showstring转换为int

switch(parseInt(show)) {

演示:http://jsbin.com/bimido/1/edit?html,js,output