2011-02-12 141 views
0

我有一个HTML选择菜单,有几个链接选项。当我点击一个选项,它会打开链接(使用下面的JavaScript):使用这个HTML选择菜单选择菜单 - Onclick弹出窗口

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

<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> 

现在,我的问题:我怎样才能使它如此如果选择菜单是这样的(注意有一个弹出窗口链接),如果点击弹出窗口选项弹出打开一个小窗口?

<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> 

谢谢!

回答

0

如果选择的文本与流行

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; 
} 

开始与大小这将弹出链接:

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; 
} 

随着目标的选项:

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

我只需要lin之一ks在一个弹出窗口中打开。其他人可以像正常一样在新的浏览器窗口中打开。我怎样才能做到这一点? – Spencer 2011-02-12 20:16:17