2011-02-12 6 views
0

J'ai un menu de sélection HTML, avec quelques options avec des liens. Lorsque je clique sur une option, il ouvre le lien (en utilisant le javascript suivant):Sélectionnez Menu - Onclick Popup Window

function MM_jumpMenu(targ,selObj,restore) 
{ 
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 
    if (restore) selObj.selectedIndex=0; 
} 

qui utilise html menu de sélection:

<select name="actions" id="actions" onchange="MM_jumpMenu('parent',this,0)"> 
<option value="./external_link.html">External Link</option> 
<option value="./external_link2.html">External Link2</option> 
</select> 

Maintenant, ma question: comment puis-je faire en sorte si le menu de sélection est comme ceci (notez qu'il y a un lien de fenêtre popup), ouvrir une petite fenêtre si l'option de fenêtre popup est cliquée?

<select name="actions" id="actions" onchange="MM_jumpMenu('parent',this,0)"> 
<option value="./external_link.html">External Link</option> 
<option value="./popup_window.html">Popup Window</option> 
</select> 

Merci!

Répondre

0

Cela contextuellle lien si le texte de la sélection commence par Pop

function MM_jumpMenu(targ,selObj,restore) { 
    var target = selObj.options[selObj.selectedIndex].text.indexOf('Pop')==0)?"_blank":"_"+targ; 
    window.open(selObj.options[selObj.selectedIndex].value,target); 
    if (restore) selObj.selectedIndex=0; 
} 

avec la taille:

function MM_jumpMenu(targ,selObj,restore) { 
    var pop = selObj.options[selObj.selectedIndex].text.indexOf('Pop')==0); 
    var parms = (pop)?"width=500,height=500":""; 
    var target =(pop)?"_blank":"_"+targ; 
    window.open(selObj.options[selObj.selectedIndex].value,target,parms); 
    if (restore) selObj.selectedIndex=0; 
} 

Avec cible dans les options:

function popOrNot(selObj,restore) { 
    var parms = "width=500,height=500"; 
    var opt = selObj.options[selObj.selectedIndex].value.split(':'); 
    var target =opt[0]; 
    var loc = opt[1]; 
    window.open(loc,target,parms); 
    if (restore) selObj.selectedIndex=0; 
} 

<select name="actions" id="actions" onchange="popOrNot(this,0)"> 
<option value="_parent:./external_link.html">External Link</option> 
<option value="_blank:./popup_window.html">Popup Window</option> 
</select> 
+0

J'ai seulement besoin de l'un des lin ks à ouvrir dans une fenêtre pop-up. Les autres à ouvrir dans une nouvelle fenêtre de navigateur comme d'habitude. Comment puis-je atteindre cet objectif? – Spencer

+0

voir mes changements. parent devrait être _parent à ouvrir dans la même fenêtre, donc j'ajoute le _ devant. – mplungjan

+0

Comment puis-je utiliser une seule sélection, mais plusieurs options? Une option pour ouvrir dans une fenêtre vide. Une autre option à ouvrir dans une fenêtre contextuelle. – Spencer