简体   繁体   English

选择onchange在ipad Safari中不起作用

[英]select onchange not working in ipad safari

I have a jumpbox which should work onchange to the second select box. 我有一个跳转框,可以在切换到第二个选择框时使用。 This works everywhere EXCEPT on iPad Safari. 除iPad Safari之外,此功能均可在所有地方使用。 Can anyone help me to figure out what do I need to do to get it to work? 谁能帮助我弄清楚我需要做什么才能使其正常工作?

I've set up a jsfiddle: http://jsfiddle.net/lbriquet/5m7U3/1/ 我已经设置了一个jsfiddle: http : //jsfiddle.net/lbriquet/5m7U3/1/

Standalone example: http://fiddle.jshell.net/lbriquet/5m7U3/1/show/ 独立示例: http : //fiddle.jshell.net/lbriquet/5m7U3/1/show/

The select box onchange uses: 选择框onchange使用:

<select name="jumpMenu" size="12" id="jumpMenu" onChange="MM_jumpMenu('window',this,document.getElementById('ORGID'),0)">

The function it calls is: 它调用的函数是:

function MM_jumpMenu(targ, selObj, selObj2, restore) { //v3.0   

var url = '';
var tmp = selObj.options[selObj.selectedIndex].text;

switch (tmp) {
    case 'Membership':
        url = targ + ".open('" + selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + '#2' + "')";
        break;
    case 'Officers':
        url = targ + ".open('" + selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + '#3' + "')";
        break;
    case 'Liaisons':
        url = targ + ".open('" + selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + '#4' + "')";
        break;
    case 'Subcommittees and WG':
        url = targ + ".open('" + selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + '#1' + "')";
        break;
    default:
        url = targ + ".open('" + selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + "')";
        break;
};

eval(url);
if (restore) selObj.selectedIndex = 0;

} }

I found a solution. 我找到了解决方案。 iOS7 safari was indeed blocking the select box from opening a new window, considering it a popup window. iOS7野生动物园确实阻止了选择框打开新窗口,因为它是一个弹出窗口。 I added target "_self" at the end of the js building the url and it works now. 我在构建URL的js末尾添加了目标“ _self”,它现在可以工作了。

url = targ+".open('"+selObj.options[selObj.selectedIndex].value + selObj2.options[selObj2.selectedIndex].value + "','_self')";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM