2011-02-12 110 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