0

3 つのオプションを提供するコンボボックスがあり、オプションに移動すると、オプション ボックスの外側に画像が表示されます。私がやりたいことは、画像の代わりにhtmlを表示できるようにすることです。

function display_map(mapid) {
    println(mapid);
    if (mapid == "ireland_map") {
        document.getElementById('ireland_map').style.display = "block";
        document.getElementById('africa_map').style.display = "none";
        document.getElementById('america_map').style.display = "none";
    }
    else if (mapid == "africa_map") {
        document.getElementById('ireland_map').style.display = "none";
        document.getElementById('africa_map').style.display = "block";
        document.getElementById('america_map').style.display = "none";
    } else if (mapid == "america_map") {
        document.getElementById('ireland_map').style.display = "none";
        document.getElementById('africa_map').style.display = "none";
        document.getElementById('america_map').style.display = "block";
    }
    else {
        document.getElementById('ireland_map').style.display = "none";
        document.getElementById('africa_map').style.display = "none";
        document.getElementById('america_map').style.display = "none";
    }
}​

<select name="#" id="map_select" onChange="display_map('freddy');">
      <option selected="selected"></option>
      <option id="ireland_map">ireland</option>
      <option id="africa_map">africa</option>
      <option id="america_map">america</option>
</select>

<div id="ireland_map" style="display:none;"> hey, 1 works </div>
<div id="africa_map" style="display:none;"> hey, 2 works </div>
<div id="america_map" style="display:none;"> hey, 3 works </div>​
4

1 に答える 1

1

div とオプションに同じ ID があります。これが機能しない理由です。

http://jsfiddle.net/jbabey/z9Jct/

于 2012-05-18T15:42:39.070 に答える