ThomasaMedlem sedan aug. 2002351 inlägg hej, jag har en sån här jumpmenu funktion från Macromedias dreamweaver, men jag vill knyta ihop den så den kan starta en js-funktion istället för att gå till en url.. någon som kan?
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
Det som skrivs nere i bodyn:
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">Välj grupp.</option>
<option value="void loadScrLyr(0,'lyr2')">LKK Ungd.</option>
<option value="test.html">LKK Ungd.</option>
</select>
void loadScrLyr(0,'lyr2') går alltså bra att sätt in i en <a href="javascript:... men jag vill att den ska funka i dropdownmenyn..
tack på förhand thomas!
Peter SMedlem sedan dec. 20025 483 inlägg Hej!
<script type="text/javascript">
<!--
// Definition av loadScrLyr()
function MM_jumpMenu(targ,selObj,restore){ //v3.0
if (selObj.selectedIndex == 1) eval(selObj[selObj.selectedIndex].value);
else eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
...
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">Välj grupp.</option>
<option value="loadScrLyr(0,'lyr2')">LKK Ungd.</option>
<option value="test.html">LKK Ungd.</option>
</select>
:)
ThomasaMedlem sedan aug. 2002351 inlägg tackar och bockar då ska ja testa den! :)
ThomasaMedlem sedan aug. 2002351 inlägg Hej, det fungerar bra för den första länken jag lägger till, men när ja lägger till en till länk under så fungerar inte den..
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">Välj grupp.</option>
<option value="loadScrLyr(0,'w1c1');">Polare</option>
<option value="loadScrLyr(0,'lyr2');">LKK Ungd.</option> (funkar ej)
</select>
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">Välj grupp.</option>
<option value="loadScrLyr(0,'lyr2');">LKK Ungd.</option>
<option value="loadScrLyr(0,'w1c1');">Polare</option>(funkar ej)
</select>
Som du ser ovan så spelar det ingen roll vad som står utan var de sitter, vad kan det vara då?, Webbläsaren säger:
';' Förväntas på denna rad:
else eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
nån lösning?
Peter SMedlem sedan dec. 20025 483 inlägg Hej, igen!
Betrakta följande rad:
if (selObj.selectedIndex == 1) eval(selObj[selObj.selectedIndex].value);
I if-satsen ovan bestämmer ettan (1) vilket val i "select"-elementet som skall evalueras till ett funktionsanrop; i detta fall val nummer två, d.v.s. det andra "option"-elementet. Vill du att fler val i menyn skall agera på samma sätt får du alltså manipulera detta tal.
Ett exempel för din andra kod:
<script type="text/javascript">
<!--
// Definition av loadScrLyr()
function MM_jumpMenu(targ,selObj,restore){ //v3.0
if (selObj.selectedIndex [b]> 0[/b]) eval(selObj[selObj.selectedIndex].value);
else eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
...
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">Välj grupp.</option>
<option value="loadScrLyr(0,'lyr2')">LKK Ungd.</option>
<option value="loadScrLyr(0,'w1c1')">LKK Ungd.</option>
</select>
:)
ThomasaMedlem sedan aug. 2002351 inlägg Jag var lite otydlig i min beskrivning, allt blir så mycket lättare när man förstår vad som står där :) då kommer det att fungera bättre!, tack!