2010-05-29 6 views
0

J'utilise ce javascript pour afficher différentes classes div lors de la sélection. Je dois montrer une classe div si rien est sélectionné, par exemple lorsque la page est chargée, et le remplacer par l'un des divs selon la sélection ...Afficher une div si rien n'est sélectionné

<script type="text/javascript"><!-- 
    var lastDiv = ""; 
    function showDiv(divName) { 
    // hide last div 
    if (lastDiv) { 
     document.getElementById(lastDiv).className = "hiddenDiv"; 
    } 
    //if value of the box is not nothing and an object with that name exists, then change the class 
    if (divName && document.getElementById(divName)) { 
     document.getElementById(divName).className = "visibleDiv"; 
     lastDiv = divName; 
    } 
} 
//--> 
    </script> 

css:

<style type="text/css" media="screen"><!-- 
    .hiddenDiv { 
    display: none; 
    } 
    .visibleDiv { 
    display: block; 
    border: 1px grey solid; 
    } 

    --></style> 

HTML:

<form id="FormName" action="blah.php" method="get" name="FormName"> 
     <select name="selectName" size="1" onChange="showDiv(this.value);"> 
      <option value="">Choose One...</option> 
      <option value="one">first</option> 
      <option value="two">second</option> 
      <option value="three">third</option> 
     </select> 
    </form> 
    <p id="one" class="hiddenDiv">This is paragraph 1.</p> 
    <p id="two" class="hiddenDiv">This is paragraph 2.</p> 
    <p id="three" class="hiddenDiv">This is paragraph 3.</p> 

Quelqu'un peut-il aider s'il vous plaît?

Répondre

0
<select onChange="showDiv(this.value);"> 

L'élément <select> ne possède pas d'attribut value. La valeur est assise dans ses <option> enfants. Pour obtenir la valeur de l'option sélectionnée d'un élément <select> vous avez besoin:

var selected = dropdown.options[dropdown.selectedIndex].value; 

Ainsi, votre onchange appel doit être modifié comme suit:

<select onchange="showDiv(this.options[this.selectedIndex].value);"> 

Cela dit, le L'attribut onchange doit être orthographié en minuscules et un paragraphe n'est pas un div.

0

id Assign pour sélectionner la liste

<select name="selectName" id="selectName" size="1" onChange="showDiv(this.value);"> 

fonction appel window.onload

window.onload =function(){ 
     showDiv(document.getElementById("selectName").value); 
} 
Questions connexes