2010-11-10 21 views
0

Je cherche à changer ce code dans un menu déroulant, changer la liste est très bien, mais je n'arrive pas à comprendre l'événement onclick.Bouton radio Javascript dans la liste déroulante avec validation

for (var z = 0; z < ShipTable.length; z++) 
    sOutput += "< input type=radio name=\"ZONE\" value=\"" + z 
      + "\"" + (z == ZoneChecked ? " checked" : "") 
      + " onClick=\"NewZone(this.value)\">" + ShipTable[z].zone + "; 

J'ai changé de ce qui précède

sOutput += "<select class=\"nopselect\" onClick=\"NewZone()\"><option>Select Delivery< /option>"; 
for (var z = 0; z < ShipTable.length; z++) 
    sOutput += "< option name=\"ZONE\" value=\"" + z 
      + "\" >" + ShipTable[z].zone + "</option>"; 

sOutput += " < /select></TD> < /TR>"; 

mais cette fonction veut que cette fonction fonctionne avec le menu déroulant

function NewZone(value) { 
    SetCookie("ZoneSelected", value, null, "/"); 
    var RegionCookie = iGetCookie("RegionSelected"); 
    if (RegionCookie != null && RegionFromZone.length && !Element(RegionCookie, RegionFromZone[ZoneParam])) DeleteCookie("RegionSelected", "/"); 
    location.href = location.href; 
} 

Répondre

0

Vous pouvez utiliser l'événement onChange au lieu de sur clic.

sOutput += "<select class=\"nopselect\" onChange=\"NewZone()\"><option>Select Delivery< /option>"; 

onChange est déclenché lorsque vous modifiez votre sélection dans le menu déroulant, au lieu de lorsque vous cliquez simplement quelque part sur elle.